亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 入門:無法弄清楚如何告訴用戶他們的數字是奇數還是偶數

Python 入門:無法弄清楚如何告訴用戶他們的數字是奇數還是偶數

慕雪6442864 2023-07-11 10:33:16
這是作業和我的代碼。編寫一個程序,允許用戶輸入五個數字,一次一個。每次輸入后,告訴用戶該數字是奇數還是偶數。在所有條目的末尾,在屏幕上顯示所有輸入數字的總和。x = 0num = 0? ?while x < 5:? ? x += 1? ? num += int(input("Enter a number: "))? ? mod = num % 2? ? if mod > 0:? ? ? ? print(num-x,"is an odd number.")? ? else:? ? ? ? print(num-x,"is an even number.")print("Your total is",num)這不適用于作業的奇數和偶數部分。我很確定這與每次用戶輸入新數字時&ldquo;num&rdquo;變量的變化有關,并且它不只是告訴用戶他們剛剛輸入的數字是偶數還是奇數,而是將數字相加。因此,如果第一個用戶輸入是 3,它會說它是奇數。但是,如果他們再次輸入 3 作為第二個數字,它會說它是 Even,因為它添加 3 + 3 得到 6。顯然,我不希望它在最終打印之前將數字加起來。This is my output:Enter a number: 10 is an odd number.Enter a number: 10 is an even number.Enter a number: 10 is an odd number.Enter a number: 10 is an even number.Enter a number: 10 is an odd number.Your total is 5顯然,所有這些 1 都應該是奇數,而我現在才意識到 0 不屬于那里。
查看完整描述

5 回答

?
月關寶盒

TA貢獻1772條經驗 獲得超5個贊

您嘗試用于num兩個不同的目的:

  • 累計總和

  • 剛剛輸入的號碼

結果,您最終測試的是累積和的奇數/偶數,而不是剛剛輸入的數字。

將它們分成兩個不同的變量numtotal然后就會變得更容易。

我建議還使用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)


查看完整回答
反對 回復 2023-07-11
?
ABOUTYOU

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)


查看完整回答
反對 回復 2023-07-11
?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

我不是 Python 程序員,但您需要第三個變量來計算總數。目前,當使用 += 賦值時, num 正在執行這部分工作。這意味著它是對小計而不是條目值進行取模。

它應該是:

num = int(input("Enter a number: "))

那是沒有+的。

然后你需要第三個變量來顯示最后的總數:

total = total + num


查看完整回答
反對 回復 2023-07-11
?
寶慕林4294392

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)

對縮進進行了細微的更改,分配了一個額外的變量并且它起作用了。


查看完整回答
反對 回復 2023-07-11
?
尚方寶劍之說

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)


查看完整回答
反對 回復 2023-07-11
  • 5 回答
  • 0 關注
  • 193 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號