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

如何修改猜数字游戏Python代码,实现每次猜测后缩小显示范围?

修改方案:动态缩小猜数字范围的实现

修正后的完整代码

import random

lucky_number = random.randint(1, 100)
min_range = 1
max_range = 100

while True:
    print(f"Guess our lucky number between <{min_range}> and <{max_range}>: ")
    try:
        user_guess = int(input("Enter your guess: "))

        if user_guess < min_range or user_guess > max_range:
            print(f"   The feasible range is between <{min_range}> and <{max_range}>. Try something more reasonable...")
        elif user_guess < lucky_number:
            print(f"    Your guess <{user_guess}> is too small, try again!")
            min_range = user_guess + 1  # 缩小范围:最小值更新为猜测数+1
        elif user_guess > lucky_number:
            print(f"    Your guess <{user_guess}> is too large, try again!")
            max_range = user_guess - 1  # 缩小范围:最大值更新为猜测数-1
        else:
            print(f"    Congratulations! <{user_guess}> is our lucky number!")
            break
    except ValueError:
        print("   Please enter a valid integer!")

关键修改说明

  • 新增范围跟踪变量:定义min_range和max_range,初始值为1和100,用来记录当前有效的猜测区间。
  • 动态更新提示文本:将固定的<1>和<100>替换为{min_range}和{max_range},每次循环都会显示最新的有效范围。
  • 统一变量名:修正原代码中user_number和user_guess混用的问题,避免逻辑错误。
  • 缩小范围逻辑:
    • 当猜测数小于幸运数字时,把min_range设为user_guess + 1(确定幸运数字更大,下一次从猜测数+1开始);
    • 当猜测数大于幸运数字时,把max_range设为user_guess - 1(确定幸运数字更小,下一次到猜测数-1为止)。
  • 优化错误提示:输入超出当前范围时,提示文本同步显示最新的有效区间;新增非整数输入的异常处理,提升程序健壮性。

内容的提问来源于stack exchange,提问作者ŜѶҜ Chason

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 05:02:37