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))