Python: 如何比较 if 语句中的用户输入字符串?

Python: How can i compare a User-Input-String in an if-Statement?

我知道这个问题听起来很愚蠢,但我在 check/compare if 语句中的字符串方面遇到了问题。

我是 Python 的新手,我们需要为 python 的学校作业做一个小项目。我决定将“剪刀石头布”作为控制台应用程序来做。

我面临的问题是,我无法真正将用户输入与 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”(engl.paper)出于某种原因进入 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!')

用“和”代替“或” 只要您的其中一项检查为真,“或”就会为真

你的条件总是true,因为只有一个不等式可以同时false。 所以 false or true or true => true.

您应该使用 and 而不是 or

更好的是,您可以检查输入是否是集合的一部分:

if Benutzerwahl not in {"Schere", "Stein", "Papier"}:
   ...