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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 17:01:24