![](/img/trans.png)
[英]How do I sum numbers from user input in python?(only if they are even numbers)
[英]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.