为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕后森 2021-10-10 13:42:58
在发布此问题时,我已经检查了具有类似标题的其他链接。所有这些要么没有回答我的问题,要么不适用于这段代码。例如,这里的链接: 当 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")
查看完整描述

3 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

如果这是一个长条件 - 您必须在中间使用 elif :


if 1:

    a()

elif 2:

    b()

elif 3:

    c()

else:

    d()


查看完整回答
反对 回复 2021-10-10
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

可能你想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")


查看完整回答
反对 回复 2021-10-10
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

要在一系列它们中只运行一个 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")


查看完整回答
反对 回复 2021-10-10
  • 3 回答
  • 0 关注
  • 273 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信