Python猜数字游戏循环复用变量及多轮猜测功能实现求助
核心需求拆解
- 支持无需重启程序,循环进行游戏
- 单轮设置3次猜测机会:猜对则结束当前轮;3次全错则切换玩家
实操指导与示例片段
1. 嵌套循环实现次数与轮次控制
用外层循环控制多轮游戏/玩家切换,内层循环控制单轮3次猜测机会,是最直接的实现方式,以下是核心逻辑片段:
import random # 外层循环:持续游戏直到玩家主动退出 while True: # 每轮生成新的答案,实现变量复用(每轮更新) answer = random.randint(0, 9) print("新回合开始!") # 内层循环:控制单轮3次猜测机会 for attempt in range(3): guess = int(input(f"第{attempt+1}次猜测,请输入0-9的数字:")) if guess == answer: print("恭喜,猜对了!") break # 猜对直接跳出内层循环,结束当前轮 elif guess < answer: print("数字太小了!") else: print("数字太大了!") else: # 只有当3次猜测全错(内层循环正常结束,没触发break)时执行 print(f"3次机会用完,正确答案是{answer},切换玩家!") # 询问是否继续下一轮 continue_game = input("是否继续游戏?输入y继续,其他退出:") if continue_game.lower() != 'y': break
2. 变量复用的关键细节
answer必须放在外层循环内部:每轮游戏都生成新的随机数,避免所有轮次共用同一个答案guess在每次内层循环中重新接收输入,自然实现变量的重复使用
3. 玩家切换的简易实现
可以用一个变量标记当前玩家,在3次猜错后切换:
# 初始化当前玩家 current_player = 1 # 在外层循环开头添加 print(f"===== 玩家{current_player}的回合 =====") # 在3次猜错的else块中添加 current_player = 2 if current_player == 1 else 1
内容的提问来源于stack exchange,提问作者Foxy Thor
相关产品推荐
相关产品推荐

