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

列表连续相同元素统计问题:硬币抛掷模拟器漏统计末尾连续序列

硬币抛掷模拟器问题排查与修正

核心问题分析

你的代码存在两个关键错误,导致末尾连续6次结果漏统计,且实验逻辑完全失效:

  1. 外层循环逻辑错误
    你写了10000次实验的循环,但每次循环都重新赋值results = [],最终只有最后一次实验的结果被保留,前9999次的结果全被覆盖,根本没参与统计。

  2. 连续 streak 计数逻辑错误
    current_streak初始值设为0,且每次遇到相同元素时加1,这意味着:

  • 连续2次相同 → current_streak=1
  • 连续6次相同 → current_streak=5
    此时current_streak >=6的条件不满足,自然不会计数,这就是末尾连续6次漏统计的直接原因。另外,当前逻辑还会重复计数(比如连续7次会多次触发计数),不符合常规统计需求。

修正方案(对应《Automate The Boring Stuff》原挑战需求)

原挑战是统计10000次实验中,至少出现一次连续6次及以上相同结果的实验次数,进而计算概率。修正后的代码如下:

import random

number_of_streaks = 0

for experiment_number in range(10000):
    # 生成单次实验的100次抛掷结果
    results = []
    for i in range(100):
        results.append('H' if random.randint(0, 1) == 0 else 'T')
    
    # 检查当前实验是否存在连续6次及以上的相同结果
    current_streak = 1  # 单个元素自身算连续1次
    has_streak = False
    for i in range(1, len(results)):
        if results[i] == results[i-1]:
            current_streak += 1
            if current_streak >= 6:
                has_streak = True
                break  # 找到后直接终止检查,提升效率
        else:
            current_streak = 1
    if has_streak:
        number_of_streaks += 1

# 输出结果
print(f"出现连续6次及以上相同结果的实验次数:{number_of_streaks}")
print(f"对应概率:{number_of_streaks / 10000 * 100:.2f}%")

其他统计需求的修正方案

如果需要统计所有实验中总共有多少段连续6次及以上的相同结果(连续7次算1段,连续8次也算1段),可以用以下代码:

import random

total_streaks = 0

for experiment_number in range(10000):
    results = []
    for i in range(100):
        results.append('H' if random.randint(0, 1) == 0 else 'T')
    
    current_streak = 1
    streak_recorded = False
    for i in range(1, len(results)):
        if results[i] == results[i-1]:
            current_streak += 1
            if current_streak == 6 and not streak_recorded:
                # 第一次达到连续6次时计数,避免重复统计同一段
                total_streaks += 1
                streak_recorded = True
        else:
            current_streak = 1
            streak_recorded = False

print(f"总共有{total_streaks}段连续6次及以上的相同结果")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 15:05:31