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

Python猜数字程序异常问题及猜数次数统计方法咨询

猜数字程序问题修复及次数统计实现

核心问题分析与修复

你代码里导致猜对仍显示"too low"/"too high"的关键错误是:每次循环都会重新生成随机数(a = random.randint(0,numb)写在while循环内部),这意味着用户每猜一次,目标数字就变一次,根本没法稳定命中。另外,三个独立的if判断写法不严谨,应该用互斥的elif分支。

修复要点:

  • 把随机数生成语句移到while循环外部,确保游戏全程目标数字固定
  • 将多个if改为if-elif-else结构,保证每次仅触发一个判断逻辑

猜数次数统计实现

初始化一个计数器变量(如guess_count),初始值设为0,放在循环外。每次用户完成一次猜测后,将计数器加1,猜对时输出总次数即可。

修正后的完整代码

import random
try:
    numb = int(input('enter the high lim : '))
    guess_count = 0
    # 固定目标数字,放在循环外
    target_num = random.randint(0, numb)

    while True:
        guess_count += 1
        user_guess = int(input('enter the number : '))
        
        if user_guess < target_num:
            print('too low')
        elif user_guess > target_num:
            print('too high')
        else:
            print(f'right! 你总共猜了 {guess_count} 次')
            break

except ValueError:
    print('enter an integer ')

关键说明

  • target_num在循环外定义,确保整个游戏只有一个待猜数字
  • guess_count每次循环递增,准确记录用户的猜测次数
  • if-elif-else结构避免了多个判断分支同时触发的问题
  • 猜对时直接输出总次数并终止循环

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 23:05:24