今天推给我一道Python的简单题,题目如下:
编写程序,统计每行字符串中若干整数的和。每行字符串中整数间的分隔符可能有逗号“,”、分号“ ;”和空格,有多少行就求多少行。
输入格式:
任意输入若干行由整数构成的字符串(回车换行),整数间以逗号或空格或分号分隔。测试数确保至少有一行数据,字符串中的整数数据均合法有效。最后以一个回车结束输入。
输出格式:
对应输出原输入串(一行中的字符序列),*冒号**后输出各个整数之和。
输入:1,2;3
2,3;5
10,20;30,40
输出:
1,2;3:6
2,3;5:10
10'20;30,40:100
然后做题后我就尝试运行这个程序,代码如下(为了展示过程,我加了一点东西):
stopword=''
s=''
print("Enter:")
for line in iter(input,stopword):
print("line:",line)
s=s+line+"\n"
print("s1:",s)
print("s2:",s)
l=s.splitlines()
print("l的长度:",len(l))
for num in range(0,len(l)):
one=l[num].replace(',',' ').replace(';',' ').split()
print("one:",one)
onesum=0
for i in range(0,len(one)):
onesum=onesum+int(len(one))
print("onesum:",onesum)
print(l[num]+":"+str(onesum))
然后运行结果:14
Enter:
1,2,;3
line: 1,2,;3
s1: 1,2,;3
2,3,;4
line: 2,3,;4
s1: 1,2,;3
2,3,;4
1,2;3
line: 1,2;3
s1: 1,2,;3
2,3,;4
1,2;3
s2: 1,2,;3
2,3,;4
1,2;3
l的长度: 3
one: ['1', '2', '3']
onesum: 3
onesum: 6
onesum: 9
1,2,;3:9
one: ['2', '3', '4']
onesum: 3
onesum: 6
onesum: 9
2,3,;4:9
one: ['1', '2', '3']
onesum: 3
onesum: 6
onesum: 9
1,2;3:9
求和(就是onesum)全是9,是什么原因?
正在复习,所以问题很基础,烦请解答!