如何获得一系列十进制数字字符串的总和?

how to get the sum of a series of decimel numbers strings?

我必须编写一个程序对字符串的数字求和。

有示例代码,我写的

s = '1.23, 2.12, 3.45'
num1 = [:4]
num2 = [5:9]
num3 = [10:]
sum = num1+ num2+ num3
print sum

但这效率不高。如果我从用户那里获取字符串,那么我如何编写可以将数字与 s 单独分开的代码?

分3步解决。

首先:拆分,用split函数,将,

中的字符串
s.split(',')

第二步:使用 map 函数对新列表中的每个元素应用 float 转换

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

第三:用sum函数对列表中的所有元素求和。

res = sum(map(float, s.split(',')))
print res

先用你的符号分割它,然后将它映射到你的目标

x = s.split(',')
y = map(float,x)
print sum(y)

单线解决方案。按 ,(逗号和 space)拆分每个项目,然后将它们转换为浮点数并将它们相加

s = '1.23, 23.5, 56.77'
print(sum([float(x) for x in s.split(", ")]))
#81.5