Python 始终执行Else语句

Python 始终执行Else语句,python,if-statement,Python,If Statement,我正在做练习练习。代码如下: game_running = True while game_running: user = input("> ") if user.lower() == "help": print("start - to start the car") print("stop - to stop the car") print(

我正在做练习练习。代码如下:

game_running = True

while game_running:
    user = input("> ")

    if user.lower() == "help":
        print("start - to start the car")
        print("stop - to stop the car")
        print("quit - to exist game")

    if user.lower() == "start":
        print("Car started.")

    if user.lower() == "stop":
        print("Car stopped.")

    if user.lower() == "quit":
        game_running = False

    else:
        print("I don't understand that...")
例如,当您键入:
help
时,会出现一个帮助菜单-start-启动汽车。。。等等当您键入不同的内容(
akfjaksfj
)时,您会收到一条信息,我不明白


问题是-当您键入
help
时,else语句也会执行-但是为什么?我找不到问题…

在链接类似这样的if语句时使用
elif
,这样任何语句中的匹配都会断开链:

game_running = True

while game_running:
    user = input("> ")

    if user.lower() == "help":
        print("start - to start the car")
        print("stop - to stop the car")
        print("quit - to exist game")

    elif user.lower() == "start":
        print("Car started.")

    elif user.lower() == "stop":
        print("Car stopped.")

    elif user.lower() == "quit":
        game_running = False

    else:
        print("I don't understand that...")

试着在你的陈述中使用elif。如果要添加到上一篇文章中,请尝试使用原始输入,以避免在输入其他数据类型时出错

game_running = True

while game_running:
    user = raw_input("> ")

    if user.lower() == "help":
        print("start - to start the car")
        print("stop - to stop the car")
        print("quit - to exist game")

    elif user.lower() == "start":
        print("Car started.")

    elif user.lower() == "stop":
        print("Car stopped.")

    elif user.lower() == "quit":
        game_running = False

    else:
        print("I don't understand that...")

非常感谢你!!!这应该可以回答您的问题:第二个、第三个和第四个
if
语句应该是
elif
。已经回答过了,请避免重复。
raw\u input
只适用于Python2,它已经过时了。现在任何人都应该在使用Python3了,对于这一点,
input
是正确的。