我知道這個問題可能聽起來很愚蠢,但是我在檢查/比較 if 陳述句中的字串時遇到了問題。
我是 Python 新手,我們需要為我們學校的 Python 作業做一個小專案。我決定將“Rock, Paper, Scissors”作為控制臺應用程式。
我面臨的問題是,我無法真正將用戶輸入與 if 陳述句中的字串進行比較。我已經為 ex 嘗試了不同的版本。
Benutzerwahl = input("W?hle aus: Schere, Stein, Papier:")
if not Benutzerwahl == "Schere" or Benutzerwahl == "Stein" or Benutzerwahl == "Papier":
print ("\n")
print ("Wrong Input, please type in again!")
print ("\n")
continue
但是當我執行程式并輸入 for ex 時。“Papier”(英文論文)出于某種原因出現在 if 陳述句中,對于我輸入的每個其他單詞也是如此。
我錯過了什么或問題是什么?
這是整個代碼:
while (1<2):
Benutzerwahl = input("W?hle aus: Schere, Stein, Papier:")
if Benutzerwahl != "Schere" or Benutzerwahl != "Stein" or Benutzerwahl != "Papier":
print ("\n")
print ("Falsche Eingabe, bitte richtig eintragen")
print ("\n")
continue
print ('Du hast gew?hlt: ') Benutzerwahl
Wahloptionen = ['Schere', 'Stein', 'Papier']
GegnerWahl = random.choice(Wahloptionen)
print ('Ich habe gew?hlt: ') GegnerWahl
if GegnerWahl == Benutzerwahl:
print ('Unentschieden')
elif GegnerWahl == 'Schere' and Benutzerwahl == 'Papier':
print('Schere schneidet Papier! Ich habe gewonnen!')
continue
elif GegnerWahl == 'Stein' and Benutzerwahl == 'Schere':
print('Stein schl?gt Schere! Ich habe gewonnen!')
continue
elif GegnerWahl == 'Papier' and Benutzerwahl == 'Stein':
print('Papier schl?gt Stein! Ich habe gewonnen')
continue
else:
print('Du hast gewonnen!')
uj5u.com熱心網友回復:
你的條件總是true,因為只有一個不等式可以false同時存在。所以false or true or true => true。
您應該使用and而不是or.
更好的是,您可以檢查輸入是否是集合的一部分:
if Benutzerwahl not in {"Schere", "Stein", "Papier"}:
...
uj5u.com熱心網友回復:
只要您的一項檢查為真,使用“and”而不是“or”“or”就會為真
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/485485.html
上一篇:檢查兩個foreach中的值是否相等并相應地顯示在php中給出錯誤
下一篇:jq如果值包含則追加
