为了账号安全,请及时绑定邮箱和手机立即绑定

输入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
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

输入3个数以空格隔开,输出这3个数的和. 这个程序要怎么写?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信