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

Python猜数字代码循环仅执行一次就终止的问题求助

问题排查与修复

循环仅执行一次的原因

你的代码里while True循环的最后直接放了break语句——不管用户猜的数对不对,第一次循环跑完就会执行break跳出循环,这就是循环只执行一次的根本原因。

另外还有个逻辑错误:当用户输入的数字大于正确数字时,你输出的是LOW,这明显搞反了,应该提示用户猜高了;同理,输入数字小于正确数字时,应该提示猜低了。

修正后的代码

import random

correctNumber = random.randint(1, 50)

a = int(input("Please enter your number: "))

while True:
    if a > correctNumber:
        print("TOO HIGH, try a smaller number")
        a = int(input("Please enter again : "))
    elif a < correctNumber:
        print("TOO LOW, try a larger number")
        a = int(input("Please enter again : "))
    else:
        print("YOU GOT IT RIGHT")
        break  # 只有猜对时才跳出循环

关键修改点

  • 将break移至猜对数字的分支中,确保只有用户猜对时才终止循环
  • 修正了提示文本的逻辑错误,让用户能得到正确的猜数方向
  • 移除了未使用的int1和int2变量

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 12:45:46