You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python带两个判断条件的if语句不生效问题求助

问题根因
  • 代码的条件判断顺序逻辑错误:第一个if分支直接匹配「开门」输入,无论用户是否持有钥匙,只要输入开门指令就会触发该分支,打印门已锁的提示后直接执行continue跳过后续所有校验,带钥匙判断的开门分支永远不会被运行。
修复方案

调整判断优先级,将同时校验「持有钥匙+输入开门」的分支放到最前,修正后的可运行代码如下:

key = 0

while True:
    print('你站在一扇带邮箱的门外。')
    user_input = input('> ')

    # 优先校验带钥匙的开门逻辑
    if user_input.lower() == '开门' and key == 1:
        print('你打开门走了进去。')
        break

    if user_input.lower() == '开门':
        print('门是锁着的。')
        continue

    if user_input.lower() == '打开邮箱':
        print('你找到了一把钥匙!')
        key = 1
        continue

    else:
        print('未知命令,请重试')
        continue
  • 调整后程序会优先判断用户是否满足「有钥匙+要开门」的条件,不满足该条件才会走无钥匙开门的提示分支,完全匹配预设的交互逻辑。

内容的提问来源于stack exchange,提问作者needhelpwithcoding

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 23:39:01