随机输入一个字符串,计算这个字符串所有数字之和,如果字符串中无数字,输出结果为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