Python-任意多行字符串拆分数值求和 求大佬

7-13 Python-任意多行字符串拆分数值求和 (20 分)

编写程序,统计每行字符串中若干整数的和。每行字符串中整数间的分隔符可能有逗号“,”、分号“ ;”和空格,有多少行就求多少行。

输入格式:

任意输入若干行由整数构成的字符串(回车换行),整数间以逗号或空格或分号分隔。测试数确保至少有一行数据,字符串中的整数数据均合法有效。最后以一个回车结束输入。

输出格式:

对应输出原输入串(一行中的字符序列),冒号后输出各个整数之和。

输入样例:

1; 2 ,3
2 3; 4
10,20 30; 40
 9

输出样例:

1; 2 ,3:6
2 3; 4:9
10,20 30; 40:100
 9:9
>>> import re
>>> demo = """1; 2 ,3
2 3; 4
10,20 30; 40
 9
 """
>>> p = re.compile(r'[,;;,、 ]')
>>> for line in demo.strip().split('\n'):
	items = filter(lambda x:bool(x), p.split(line))
	total = sum(map(int, items))
	print('%s:%d'%(line, total))

	
1; 2 ,3:6
2 3; 4:9
10,20 30; 40:100
 9:9

 


stopword = ''
s = ''
print('请输入内容,输入空行回车结束输入:')
for line in iter(input, stopword):
    s = s+line+"\n"
print(s)
l = s.splitlines()
for num in range(0, len(l)):
    one = l[num].replace(',', '').replace(';', '').split()
    onesum = 0
    for i in range(0,len(one[0])):
        onesum = onesum + int(one[0][i])
    print(l[num]+":"+str(onesum))