+5 投票
分类:问答挑战 | 用户: 10 5 4 (4.7k 分)

【问题描述】

编写一个程序,将一个字符串中的所有数字提取出来并求和。

【输入形式】

一个包含字母和整数的字符串。
【输出形式】

一个整数(整形)。
【样例输入】

abc123def456ghi789

【样例输出】

1368
【样例说明】

注意输入输出的格式不同,输入为字符串,输出为整形。

连续的整数排列将被识别为多位数,比如:wwe234f1,提取出234和1,求和为235。

2 个回答

+1 投票
用户: 10 9 8 (5.7k 分)
采纳于 用户:
 
已采纳

可以使用正则表达式来匹配字符串中的数字并将其相加

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

+2 投票
用户: 10 10 9 (8.6k 分)

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)

            b=''    

        i=i+1

if b!='':

    a=a+int(b)

    b=''    

print(a)

欢迎来到 在线问答系统 ,有什么不懂的可以尽管在这里提问,你将会收到社区其他成员的回答。
...