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

Python入门问题:基础if语句中or逻辑判断失效排查

问题原因及修复方案

核心问题1:逻辑运算符使用错误

你的判断条件age != 10 or age != '11'逻辑完全错误。or表示只要任意一个条件为真,整个表达式就为真:

  • 输入10时,age != '11'为真,条件成立;
  • 输入11时,age != 10为真,条件成立;
  • 输入其他值时,两个条件至少一个为真,条件还是成立。
    所以无论输入什么,都会执行print('you are not 10 or 11. ')。

正确逻辑应该用and,表示年龄既不是10也不是11的时候才触发该分支:age != 10 and age != 11

核心问题2:类型不匹配

你把输入转成了float类型,但判断时却和字符串'11'比较。数字类型和字符串类型永远不相等,所以age != '11'这个条件永远为真,进一步导致整个if条件一直成立。

应该把'11'改成数字类型(比如11或者11.0),保持类型一致。

修正后的代码

age = float(input('enter age '))

if age != 10 and age != 11:
    print('you are not 10 or 11. ')
else:
    print('you are 10 or 11')

如果只需要处理整数年龄,也可以用int转换:

age = int(input('enter age '))

if age != 10 and age != 11:
    print('you are not 10 or 11. ')
else:
    print('you are 10 or 11')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 18:25:26