如何获得一系列十进制数字字符串的总和?
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
我必须编写一个程序对字符串的数字求和。
有示例代码,我写的
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