字符串之和包含一个十进制数字序列

时间:2013-04-25 23:31:55

标签: python python-2.7

我真的是编程的先驱。我想打印一个字符串s ='1.23,2.4,3.123'的总和。 我试着用

total = 0.0
for s in '1.23,2.4,3.123':
    total += float(s)
print total

但它不起作用,任何人都可以帮忙吗? THX很多

4 个答案:

答案 0 :(得分:3)

您可以尝试以下方法:

total = sum(float(i) for i in s.split(','))

它的运行方式如下:

  • s.split(',')拉出字符串

  • 中的每个'数字'
  • float(i) for i in s...生成每个拆分值的浮动

  • sum()将所有内容添加到

希望这有帮助!

答案 1 :(得分:1)

s = '1.23,2.4,3.123'
nums = [float(i) for i in s.split(',')] # creates a list of floats split by ','
print sum(nums) # prints the sum of the values

答案 2 :(得分:1)

>>> str_list = '1.23,2.4,3.123'.split(',')
>>> float_list = [float(str_number) for str_number in str_list]
>>> total = sum(float_list)
>>> print total

答案 3 :(得分:1)

我这样做:

sum(map(float, s.split(',')))