我写了代码,有人告诉我像这样做while循环,但这是不对的。它进入无限循环,作为一个新手,我不确定是怎么回事。我看过其他搜索,但不知道它们如何固定代码,因为它们都是不同的。不要将其标记为重复项,因为它会使我无法直接获取代码的答案。我是新手,我会把你所有的废话都拿走。谢谢

print ("enter a number 1 - 2: ")
userin = input()

while userin != 1 or userin != 2:
    print ("Enter a number that is 1 or 2")

    if userin == "1":
        print ("\n One")
    elif userin == "2":
        print ("\n One", "\n Two")
    else:
        print ("Enter a number that is 1 or 2")


这是没有while循环的原始代码:

print ("Enter a number (2 - 3): ")
userin = input()


if userin == "2":
    print("\n One","\n Two")
elif userin == "3":
    print("\n One", "\n Two", "\Three")
else: print("Invalid. Enter a number2 -3!")

最佳答案

测试userin != "1" or userin != "2"始终为true。如果用户输入1,则第二部分为true。如果用户输入2,则第一部分为true。因此,循环永无止境。尝试使用and代替or

关于python - Python-While循环进入无限循环。我究竟做错了什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36444280/

10-12 18:19