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

Python数字高低猜测游戏如何重新提示输入及修复无限循环问题

修复后的完整代码

import random

# 高低值输入+校验重试逻辑
while True:
    high_number = int(input('请输入上限数字:\n'))
    low_number = int(input('请输入下限数字:\n'))
    if low_number >= high_number:
        print('下限数字必须小于上限数字,请重新输入!')
    else:
        break

random_number = random.randint(low_number, high_number)

# 猜数字循环逻辑
while True:
    user_guess = int(input(f'请猜一个介于{low_number}和{high_number}之间的数字:\n'))
    if user_guess > random_number:
        print('猜的数字太大了,再试一次!')
    elif user_guess < random_number:
        print('猜的数字太小了,再试一次!')
    else:
        print('恭喜你猜对了!')
        break

问题根因说明

你遇到的两个问题对应两处代码疏漏:

  • 无法重新提示用户输入:原始代码仅做了一次高低值合法性校验,不通过时直接跳过核心逻辑,没有添加重试循环
  • 无限循环:原始代码的while判断逻辑中,仅对第一次输入的user_guess做判定,没有在循环内重新获取用户的新输入,变量值永远不会匹配随机数,导致循环永远无法退出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 17:54:05