如何打印所有输入的总和?

how to print the sum of all the inputs?

我想将两个数字作为输入5次,然后打印出它们的所有总和。它看起来像

enter two numbers:3 4 
enter two numbers:3 5 
enter two numbers:7 8 
enter two numbers:7 1 
enter two numbers:7 4

和输出

7 
8 
15
8
11

这是我试过的。

for k in range(5):
    a,b=[int(a) for a in input("enter two numbers:").split()]
print(a+b)

我的代码只打印最后两个输入的总和。

问题是您在循环的每次迭代期间重新分配 ab。由于您没有在任何地方存储 ab 的总和,并且当您移动到下一次迭代时,这些值将更新为最新的输入,因此无法将它们打印出来。一个简单的解决方法是边走边将总和附加到列表中,然后打印出总和:

sums = []
for k in range(5):
    a,b=[int(a) for a in input("enter two numbers:").split()]
    sums.append(a+b)
for sum in sums:
    print(sum)

如果您将 print(a+b) 语句放在循环中,这将在输入每对输入之后和输入下一个输入之前简单地打印总和。如果您想知道,实际打印最终总和的原因是 Python 继续存储 ab 的值,即使在循环结束后也是如此。这不一定是预期的行为,但它允许您打印 ab 即使循环已经完成,因为 Python 仍然记得分配给它们的最后一个值。

将 print 语句放在 for 循环的范围内,如下所示:

for k in range(5):
    a,b=[int(a) for a in input("enter two numbers:").split()]
    print(a+b)
for i in range(5):
    a,b = input("enter two numbers:").split()
    print(int(a)+int(b))

我认为代码可以帮助您 need.split 方法将 a 和 b 转换为 string.So 您需要在求和时将它们转换为整数值。