亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

輸入3個數以空格隔開,輸出這3個數的和. 這個程序要怎么寫?

#encoding:utf-8
def?sum():
????a?=?raw_input()
????l?=?a.split('?')
????sum?=?0
????for?num?in?l:
????????sum?+=?int(num)
????return?sum
print?sum()

我這樣感覺實在是太麻煩了啊,有什么其他的方法嗎?

正在回答

1 回答

恩, 用兩種方法吧:

def?sum_input_with_reduce():
????string?=?raw_input()
????return?reduce(lambda?x,y:int(x)+int(y),?string.split())

def?sum_input_with_map():
????string?=?raw_input()
????return?sum(map(lambda?x:int(x),?string.split()))
????
def?sum_input_with_eval():
????string?=?raw_input()
????return?eval(string.replace("?","+"))
????
##?解釋,第一個和第二個思路差不多,區別是,第一個?直接用reduce?算出了?列表和。
##?第二個?先map?列表,然后再用?內置函數?sum()?求列表和
##?至于第三個嘛,其實大多數書本都不推薦用?eval?或者?exec?這兩個內置函數,認為他們不安全,不過用在
##?這里簡直是絕配有么有!?首先將字符串中的空格換成加號,?然后eval?下直接出結果。。。。


0 回復 有任何疑惑可以回復我~
#1

清波

呃, 如果要考慮浮點數的話, 還是將上面的所有int() 改成 float()
2016-05-10 回復 有任何疑惑可以回復我~
#2

空城盼故人 提問者

嗖嘎~
2016-05-10 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758398    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

輸入3個數以空格隔開,輸出這3個數的和. 這個程序要怎么寫?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號