输入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 下直接出结果。。。。
举报