【问题描述】
编写一个程序,将一个字符串中的所有数字提取出来并求和。
【输入形式】
一个包含字母和整数的字符串。【输出形式】
一个整数(整形)。【样例输入】
abc123def456ghi789
【样例输出】
1368【样例说明】
注意输入输出的格式不同,输入为字符串,输出为整形。
连续的整数排列将被识别为多位数,比如:wwe234f1,提取出234和1,求和为235。
可以使用正则表达式来匹配字符串中的数字并将其相加
import re
def sum_of_numbers(s):
pattern = r'\d+'
nums = re.findall(pattern, s)
return sum(map(int, nums))
s = 'abc123def456ghi789'
print(sum_of_numbers(s)) # 输出 1368
message=input()
l=len(message)
i=0
a=0
b=''
while i<l:
try:
int(message[i])
b=b+message[i]
i=i+1
except ValueError:
if b!='':
a=a+int(b)
print(a)