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

强化学习任务:获取首次连续5胜的场次编号及总胜场数

解决方案

要实现统计总胜场数并记录首次连续5次胜利的场次编号,你需要新增变量跟踪连续胜利次数,而不是用总胜场数判断。以下是修正后的代码逻辑:

关键变量说明

  • current_streak:实时跟踪当前连续胜利的场次,胜利时递增,失败时重置为0
  • first_five_streak_game:存储首次达成连续5胜的场次编号,初始设为None避免重复记录

完整代码

from tqdm import tqdm

total_games = 10000
success = 0
current_streak = 0
first_five_streak_game = None  # 标记未找到首次连续5胜的场次

for game in tqdm(range(total_games)):
    # 替换为你的冰冻湖环境游戏逻辑,执行后得到reward(胜利返回1,失败返回0)
    # //BODY OF CYCLE
    reward = 1  # 示例值,实际由环境输出
    
    # 统计总胜场数(保留原逻辑)
    success += reward
    
    # 更新连续胜利次数
    if reward == 1:
        current_streak += 1
    else:
        current_streak = 0
    
    # 记录首次达成连续5胜的场次
    if current_streak == 5 and first_five_streak_game is None:
        # 场次编号若从1开始计数则用game +1,从0开始直接用game
        first_five_streak_game = game + 1

# 输出结果
print(f"总胜场数: {success}")
if first_five_streak_game:
    print(f"首次连续5次胜利的场次编号: {first_five_streak_game}")
else:
    print("10000场游戏内未达成连续5次胜利")

逻辑说明

  1. 每次游戏结束后,根据reward更新总胜场success
  2. 同步更新current_streak:胜利则加1,失败则重置为0,确保只统计连续胜利次数
  3. 当current_streak达到5且first_five_streak_game未被赋值时,记录当前场次编号,保证只保存第一次达成的结果

内容的提问来源于stack exchange,提问作者0xYanis

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 23:05:33