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

Python while循环使用or判断用户输入时出现无限循环问题

代码运行异常原因

你的循环终止条件存在逻辑运算符误用的问题,核心错误出现在while的判断语句val != 'y' or val != 'Y'上:

  • 布尔逻辑中or的判定规则是:只要两侧任意一个条件为真,整个表达式结果就为真。
  • 无论你输入任何内容,这个判断条件的结果永远为True:
    • 当输入y时,val != 'y'为假,但val != 'Y'为真,整个表达式结果为真,循环继续
    • 当输入Y时,val != 'y'为真,但val != 'Y'为假,整个表达式结果为真,循环继续
    • 输入其他内容时,两个判断条件均为真,表达式结果仍为真,循环继续
修复方案

你可以选择以下任意一种方式修改判断条件:

  1. 将or替换为and:
while val != 'y' and val != 'Y':
  1. 更简洁的写法,统一转换为小写后判断:
while val.lower() != 'y':

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:18:03