if 陳述句不起作用!當我輸入 4 時寫入,即使這個 if 陳述句部分為假,第一部分也會被觸發,因為數字是 4,而不是 1、3、5 或其他什么。這是任何人都可以提供幫助的完整代碼!
number = input("Choose number between 0 and 20 (you can use 0 and 20, too) ")
int(number)
if number == 1 or 3 or 5 or 7 or 9 or 11 or 13 or 15 or 17 or 19:
number = int(number) * 3 1
print(number)
elif number == 0 or 2 or 4 or 6 or 8 or 10 or 12 or 14 or 16 or 18 or 20:
number = int(number) / 2
print(number)
else:
print("Run Code Agian")
uj5u.com熱心網友回復:
您的條件陳述句需要分開:
if number == 1 or number == 3 or number == 5, ... or number == 19:
使用模來檢查奇數可能更容易:
if number % 2 == 1:
uj5u.com熱心網友回復:
您正在濫用“或”運算子。
例如:
print (1==2 or 3 or 5)
給出 3,而不是 False。
print (1==(2 or 3 or 5))
會更接近你想要的,但這實際上只是評估1==2并且即使 1 在 or 串列中,只要它不是第一個非零專案,它仍然是錯誤的。
uj5u.com熱心網友回復:
是因為條件
3 or 5 or 7 or 9 or 11 or 13 or 15 or 17 or 19
總是正確的,因為您沒有使用number.
為了使其在邏輯上正確,您應該做的是將它們與您number喜歡的 Martin 的答案進行比較。
uj5u.com熱心網友回復:
您正在比較兩個值,最后它會產生真或假。但在您的情況下,它只比較一個值,因此回傳 true 并開始執行第一條陳述句。由于 if 之后有 elif 結構,因此它不會被執行。
試試這樣:
if number == 1 or number == 3:
#some code
elif number == 2 or number == 4:
#some code
但使用模運算子是一種更好的做法:
if number %2 != 0 and number >= 0 and number <= 20:
number = int(number) * 3 1
print(number)
elif number %2 == 0 and number >= 0 and number <= 20:
number = int(number) / 2
print(number)
else:
print("Run Code Again")
您還忘記為第二行中更改的數字分配一個值:
number = (int) number
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/466203.html
標籤:Python
上一篇:python函式和if陳述句
