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

Python中如何重复执行代码实现猜数字游戏最多3次猜测并可终止

猜数字游戏3次猜测限制实现代码

你原有代码的核心问题是没有计数逻辑,而且递归触发条件写死为不可能满足的状态,根本不会重复运行。以下是可直接运行的修改后代码:

import random

print('请选择难度:输入 Easy 或 Hard')
difficulty = input()
max_guess = 3
guess_count = 0

# 根据难度生成对应范围的随机数
if difficulty == 'Hard':
    print('你选择了困难模式,数字范围为1-100')
    target_num = random.randint(1, 100)
elif difficulty == 'Easy':
    print('你选择了简单模式,数字范围为1-50')
    target_num = random.randint(1, 50)
else:
    print('输入的难度不合法,程序退出')
    exit()

while guess_count < max_guess:
    print(f'请输入你猜的数字,剩余猜测次数:{max_guess - guess_count}')
    try:
        player_guess = int(input())
    except ValueError:
        print('请输入有效的整数')
        continue
    
    guess_count += 1
    if player_guess > target_num:
        print('再小一点')
    elif player_guess < target_num:
        print('再大一点')
    else:
        print('猜对了!')
        break
else:
    # 循环正常结束(不是break跳出)说明次数用完
    print(f'你已经用完了{max_guess}次机会,正确答案是{target_num}')

核心改动说明

  • 新增guess_count计数变量统计已猜次数,max_guess固定为3控制次数上限
  • 用while循环替代原有的递归逻辑,避免递归调用可能出现的异常问题
  • 补充了Easy难度的逻辑分支和非法输入校验,避免用户输入非数字时程序崩溃
  • 猜对时通过break直接跳出循环终止运行,次数耗尽时走while-else分支提示正确答案后自动终止
  • 把猜测值的存储类型从float改为int,符合猜整数的场景需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 00:18:02