随机输入一个字符串,计算这个字符串所有数字之和,如果字符串中无数字,输出结果为0

随机输入一个字符串,计算这个字符串所有数字之和,如果字符串中无数字,输出结果为0 小白提问,老师布置的作业,拜托各位大佬了

import re
s = input('输入一个字符串:')
li = re.findall(r'-?\d+(?:\.\d+)?',s)
li = list(map(float,li))
print(li)
print("所有数字之和:",sum(li))

s = input()
res = 0
for i in s:
    try:
        res += int(i)
    except:
        pass
print(res)

 

如果是一个数字算一个值

import re
s = input('输入一个字符串:')
li = re.findall(r'\d',s)
li = list(map(int,li))
print(li)
print("所有数字之和:",sum(li))

 

或者不用正则表达式的方法

s = input('输入一个字符串:')
li = [int(x) for x in s if x.isdigit()]
print(li)
print("所有数字之和:",sum(li))

 

比如字符串abc123def456,是计算1+2+3+4+5+6 = 21 还是计算123 + 456 = 579呢?

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y