5 回答

TA貢獻1772條經驗 獲得超5個贊
您嘗試用于num
兩個不同的目的:
累計總和
剛剛輸入的號碼
結果,您最終測試的是累積和的奇數/偶數,而不是剛剛輸入的數字。
將它們分成兩個不同的變量num
,total
然后就會變得更容易。
我建議還使用forfor
代替while
循環x
:
total = 0
for x in range(5):
num = int(input("Enter a number: "))
mod = num % 2
if mod > 0:
print(num, "is an odd number.")
else:
print(num, "is an even number.")
total += num
print("Your total is", total)

TA貢獻1812條經驗 獲得超5個贊
x = 0
total_num = 0
while x < 5:
num = int(input("Enter a number: "))
mod = num % 2
if mod > 0:
print(num,"is an odd number.")
else:
print(num,"is an even number.")
total_num += num
x += 1
print("Your total is",total_num)

TA貢獻1796條經驗 獲得超4個贊
我不是 Python 程序員,但您需要第三個變量來計算總數。目前,當使用 += 賦值時, num 正在執行這部分工作。這意味著它是對小計而不是條目值進行取模。
它應該是:
num = int(input("Enter a number: "))
那是沒有+的。
然后你需要第三個變量來顯示最后的總數:
total = total + num

TA貢獻2021條經驗 獲得超8個贊
num分配一個不同的變量來計算輸入的數字,而不是將變量相加。
x = 0
num = 0
sum1 = 0
while x < 5:
x += 1
num = int(input("Enter a number: "))
sum1 += num
mod = num % 2
if mod > 0:
print(num,"is an odd number.")
else:
print(num,"is an even number.")
print("Your total is",sum1)
對縮進進行了細微的更改,分配了一個額外的變量并且它起作用了。

TA貢獻1788條經驗 獲得超4個贊
你說對了一部分。檢查數字是否為奇數/偶數的邏輯很好?,F在的問題是,每次你讀取一個數字時,你都會將這個新數字添加到前一個數字上。這里的解決方案是使用另一個變量來跟蹤總數,這樣您就可以單獨檢查數字是否為奇數/偶數,并在最后得到總和。
另外,如果你檢查mod == 0而不是檢查,它看起來會更干凈mod > 0。所以只需切換這些即可。最后,您不需要x從您的 中減去num,x只是您的計數器來跟蹤您在給定時刻的迭代。
x = 0
num = 0
total = 0
while x < 5:
x += 1
num = int(input("Enter a number: ")) # Read new number
total += num # Add new number to the total
mod = num % 2 # Check if new number is odd
if mod == 0:
print(num,"is an even number.")
else:
print(num,"is an odd number.")
print("Your total is",total)
添加回答
舉報