簡體   English   中英

如何在Python中從用戶輸入中添加五個數字?

[英]How do I add five numbers from user input in Python?

作為練習,我試圖從用戶那里獲得五個數字,並使用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塊來解決此問題:

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

這樣應該更好。

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

您將結果之一加到所有結果的總和上,卻丟失了先前的結果。

通過user_input添加str或int然后打印結果- 從用戶輸入中添加2個或更多no

來自abv鏈接的示例

'''Two numeric inputs, explicit sum'''

x = int(input("Enter an integer: "))
y = int(input("Enter another integer: "))
sum = x+y
sentence = 'The sum of {} and {} is {}.'.format(x, y, sum)
print(sentence)
x = 0
s = 0   
    while x < 5:
        x += 1
        s += (int(raw_input("Enter a number: ")))
print s

你也可以這樣做

print ("enter input number : ")

input1 = int(raw_input())

sum1 = 0

for y in range(0,input1+1):
       sum1 = sum1 + y
print ("the sum is " + str(sum1))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM