Skip to main content
 首页 » 编程设计

python之如何在 Python 中将用户输入的五个数字相加

2025年05月04日9开发

作为练习,我尝试从用户那里获取五个数字并使用 while 循环返回所有五个数字的总和。我设法收集了五个数字,但我的代码没有提供总和(我得到了一个数字,但它总是是最后一个数字的两倍)。我认为问题出在我对 += 的使用上。

x = 0    
while x < 5: 
    x += 1 
    s = (int(raw_input("Enter a number: "))) 
    s += s 
print s 

请您参考如下方法:

Gruszczy 已经解决了您的主要问题,但这里有一些与您的代码相关的建议。

首先,执行 for 循环比跟踪 while 中的迭代更容易:

s = 0 
for i in range(5): 
  s += int(raw_input('Enter a number: ')) 

其次,您可以使用内置的 sum 函数对其进行简化:

s = sum(int(raw_input('Enter a number: ')) for i in range(5)) 

第三,如果用户输入了无效的输入,上述两种方法都会失败。您应该添加一个 try block 来解决这个问题:

s = 0 
for i in range(5): 
  try: 
      s += int(raw_input('Enter a number: ')) 
  except ValueError: 
      print 'Invalid input. Counting as a zero.' 

或者如果你想强制使用 5 个有效数字:

round = 0 
s = 0 
while round < 5: 
  try: 
      s += int(raw_input('Enter a number: ')) 
  except ValueError: 
      print 'Invalid input.' 
  else: 
      round += 1