输入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()我这样感觉实在是太麻烦了啊,有什么其他的方法吗?
#encoding:utf-8
def sum():
a = raw_input()
l = a.split(' ')
sum = 0
for num in l:
sum += int(num)
return sum
print sum()我这样感觉实在是太麻烦了啊,有什么其他的方法吗?
2016-05-09
恩, 用两种方法吧:
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 下直接出结果。。。。举报