【问题标题】:how to get the sum of a series of decimel numbers strings? [duplicate]如何获得一系列十进制数字字符串的总和? [复制]
【发布时间】:2016-09-17 03:51:26
【问题描述】:

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

有一个示例代码,我写的

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

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

【问题讨论】:

    标签: python python-2.7 python-2.x


    【解决方案1】:

    你可以分三步解决它。

    首先:用split函数拆分,中的字符串

    s.split(',')
    

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

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

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

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

    【讨论】:

    • 直到float 在处理之前修剪其输入中的周围空间。
    【解决方案2】:

    首先按你的标志分割它,然后将它映射到你的目标

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

    【讨论】:

    • 谢谢,我知道了
    【解决方案3】:

    单班轮解决方案。按,(逗号和空格)拆分每个项目,然后将它们转换为浮点数并求和

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

    【讨论】:

      猜你喜欢
      • 2021-12-22
      • 2013-08-20
      • 1970-01-01
      • 2019-07-27
      • 2017-09-14
      • 1970-01-01
      • 2018-09-27
      • 2011-05-15
      • 2014-03-07
      相关资源
      最近更新 更多