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

Python中if or条件语句输入3输出bad而非good问题求解

问题成因

你代码中if分支的判断逻辑存在语法错误,是导致输出不符合预期的核心原因:
if code == "1" or "2":的写法不符合Python的逻辑判断规则,Python会将该条件拆分为两个独立的布尔判断执行:

  • 第一步判断code == "1"的布尔结果
  • 第二步判断字符串"2"本身的布尔结果

在Python的规则中,所有非空字符串的布尔值都是True,因此第二个判断项永远为真,整个if条件无论输入什么值都会判定为成立,永远执行第一个分支输出bad,不会进入后续的elif判断。

修复方案

你可以选择以下任意一种写法修正条件判断:

  1. 补全完整的判断逻辑
if code == "1" or code == "2":
  1. 使用成员运算符简化判断,可读性更高
if code in ("1", "2"):

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:57:03