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

为什么Python猜数字代码的while循环输入正确值后无法跳出?

循环无法正常break的原因
  • 输入值未更新到guess变量
    你在while循环内获取新输入的代码是int(input('wrong. Please make another guess: ')),仅做了类型转换,没有把返回值赋值给guess变量。guess始终保留第一次输入的数值,永远无法和answer相等,因此while guess != answer的条件始终成立,循环不会终止。
  • 相等判断的逻辑位置错误
    while循环的入口条件就是guess != answer,说明进入循环体时guess必然不等于answer,你把if guess == answer的判断写在循环体内,正常情况下这个判断永远不会触发。就算后续修复了guess赋值的问题,新输入的正确值也要等到下一次判断循环入口条件时才会生效,当前循环体内的判断不会命中。
  • break语句顺序错误
    即使触发了if判断,你把break写在print('Correct!!!')前面,break执行后会直接跳出循环,后续的正确提示代码永远不会运行。
修复后参考代码
answer = 5
guess = int(input('Please make a wild number guess: '))
count = 1

while guess != answer:
    count += 1
    # 新输入赋值给guess变量
    guess = int(input('wrong. Please make another guess: '))
    print(f"this is your {count} attempt") 

# 循环退出时guess必然等于answer,直接打印提示即可
print('Correct!!!')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:06:04