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
相关产品推荐
相关产品推荐

