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

Python游戏输入验证While循环满足条件后仍无限运行问题

解决你的While循环无限运行问题

嘿,我一眼就发现问题所在了——你的循环条件逻辑出错啦!

你写的循环条件是:

while initialize != 'yes' or initialize != 'no':

咱们拆解一下这个逻辑:

  • 当用户输入yes时,initialize != 'yes'是假,但initialize != 'no'是真,OR逻辑只要有一个为真就整体为真,所以循环会继续执行。
  • 当用户输入no时,initialize != 'no'是假,但initialize != 'yes'是真,同样OR逻辑结果为真,循环还是停不下来。

这就导致不管输入yes还是no,循环条件永远成立,自然会无限运行下去。

修正方案

把循环条件里的or改成and就行啦,这样只有当输入既不是yes也不是no的时候,循环才会继续:

initialize = ''
while initialize != 'yes' and initialize != 'no':
    print('\nWould you like to play?')
    initialize = input('Yes or No? ').lower().strip()
    if initialize == 'yes':
        print('\nHappy to see you.\n')
    elif initialize == 'no':
        print('\nNo worries.\n\nThanks for stopping by!')
    else:
        print('\nSorry, I didn\'t catch that')
print('please wait as game loads')
print('\nYou\'re very important to us\n')

逻辑解释

修正后的条件initialize != 'yes' and initialize != 'no'意思是:只有当输入既不是yes,也不是no的时候,才继续循环。当用户输入yes或no时,这个条件会变成假,循环就会终止,接着执行后面的游戏加载提示啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:22:59