为什么“else”和“if”语句都在运行?

在发布此问题时,我已经检查了具有类似标题的其他链接。所有这些要么没有回答我的问题,要么不适用于这段代码。例如,这里的链接: 当 if 语句匹配时,为什么我的批处理脚本同时运行 if 和 else 语句? 说这是因为echo脚本中使用了 OP 。在这里,我不使用它,但我仍然得到了if和 的结果else。


while True:

    selection = input("Type a command or use a page selection")

    if selection in ('exit','quit'):

        sys.exit()

    if selection in ('page 1','1'):

        print("Page 1 text here")

    if selection in ('page 2','2'):

        print("Page 2 text here")

    else:

        print("Invalid command or page number")


慕后森
浏览 274回答 3
3回答

呼如林

如果这是一个长条件 - 您必须在中间使用 elif :if 1:    a()elif 2:    b()elif 3:    c()else:    d()

慕无忌1623718

可能你想if-elif-else在这些情况下使用:while True:    selection = input("Type a command or use a page selection")    if selection in ('exit','quit'):        sys.exit()    elif selection in ('page 1','1'):        print("Page 1 text here")    elif selection in ('page 2','2'):        print("Page 2 text here")    else:        print("Invalid command or page number")

繁华开满天机

要在一系列它们中只运行一个 if 语句,您必须拥有 else if 语句,elif,每次放置 if 时,都会考虑与其他 if/elif/else 语句一起使用。你的 else 语句独立于前两个 if 语句,我在下面修复了它。while True:    selection = input("Type a command or use a page selection: ")    if selection in ('exit','quit'):        sys.exit()    elif selection in ('page 1','1'):        print("Page 1 text here")    elif selection in ('page 2','2'):        print("Page 2 text here")    else:        print("Invalid command or page number")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python