You need to enable JavaScript to run this app. Python猜数字游戏失败提示无限循环问题如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Python猜数字游戏失败提示无限循环问题如何解决

代码逻辑错误分析

代码存在两处核心逻辑问题,直接导致失败提示反复循环输出:

  • 第一,while循环仅设置了guess != random_number这一个退出条件,当尝试次数耗尽后,既没有猜对数字、也没有触发循环终止的逻辑,程序会一直进入else分支执行打印操作,陷入无限循环。
  • 第二,失败提示打印后没有终止程序的逻辑,打印完成后代码仍会执行tries = tries +1,随后回到while判断环节,因guess始终不等于目标随机数,循环会一直运行。
  • 额外隐藏问题:就算次数耗尽跳出循环,原代码末尾的猜对提示仍会被执行,和失败场景冲突。

修复方案

在打印失败提示后直接用break跳出循环,同时补充猜对的判断逻辑,避免失败场景下误打印成功提示,修改后的参考代码如下:

import random

def guess(x):
    random_number = random.randint(1,x)
    guess = 0
    tries = 0
    limit = int(input("How many tries would you like to have? "))

    while guess != random_number:
        if tries < limit:
            guess = int(input(f"Guess a random number between 1 and {x} in {limit} tries: " ))
            if guess < random_number:
                print("too low")
            elif guess > random_number:
                print("too high")
        else:
            print(f"You have failed in {limit} tries")
            break # 次数耗尽直接跳出循环
        tries = tries + 1
    # 仅猜对的时候才打印成功提示
    if guess == random_number:
        print (f"You have guessed {random_number} correctly")

guess(10)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 12:45:02