【问题标题】:Python - Probability of 6 or more Tails/Heads CodePython - 6 个或更多尾部/头部代码的概率
【发布时间】:2021-12-08 10:53:49
【问题描述】:

我让我的学生在 comp sci 中编写代码,模拟掷硬币 100 次,并将结果存储在一个列表中。寻找连续 6 个正面(或更多)或 6 个反面(或更多)。如果您发现连胜,则认为试验成功。重复此实验 10,000 次。使用它来确定找到连续 6 个正面或 6 个反面的概率。

理论上这个概率应该是~80%。

编辑:我可能误解了这个理论概率。我在这里找到了这个概率:https://math.stackexchange.com/questions/2736117/what-is-the-probability-of-getting-6-or-more-heads-or-tails-in-a-row-after-flipp

我的代码给出的概率约为 54%,即连续获得 6 个的概率。但是,如果我连续获得 7、8、9 或更多,我的代码应该将其标记为成功,对吗?

我知道我的代码会检查 6 条,但如果有 7、8、9 条……它仍然会将其标记为成功。这里一定有我遗漏的东西......

附上我的代码:

import random
numberofstreaks = 0
for experimentnumber in range(10000):
    result = []
    for i in range(100):
        flip = random.randint(0,1)
        result.append(flip)
    
    for i in range(len(result)-6):
        if result[i:i+6] == ([0,0,0,0,0,0] or [1,1,1,1,1,1]):
            numberofstreaks += 1
            break
print(numberofstreaks)
print('Chance of steak:',(numberofstreaks/100))

注意:他们目前正在学习列表,这就是为什么他们的代码必须包含列表的使用。

提前谢谢!

【问题讨论】:

    标签: python statistics probability


    【解决方案1】:

    稍作修正:

    import random
    numberofstreaks = 0
    for experimentnumber in range(10000):
        result = []
        for i in range(100):
            flip = random.randint(0,1)
            result.append(flip)
        
        for i in range(len(result)-6):
            if result[i:i+6] == [0,0,0,0,0,0] or result[i: i+6] == [1,1,1,1,1,1]:
                numberofstreaks += 1
                break
    print(numberofstreaks)
    print('Chance of steak:',(numberofstreaks/100))
    

    现在答案是80.22%(A or B)返回A,如果A不能被推断为假,否则B。所有0s的列表不是False。所以你只检查0s的条纹。

    【讨论】:

    • 完美,谢谢!
    【解决方案2】:

    据我了解,您的代码没有考虑给定 100 次投掷硬币中的多个条纹。 你可以在它找到一个条纹后将 i 移动 6 个位置,这样它就不会将 >6 个条纹算作多个条纹。

    【讨论】:

    • 也许我误解了理论概率。我对此进行了一些研究,这就是我找到〜80%的方法。那么,该概率必须允许在 100 次翻转中出现多个条纹。因此,我的概率会有所不同是有道理的,因为我不关心 6 的多个条纹......只要在 100 次翻转中出现 6 的条纹。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 1970-01-01
    • 2011-11-27
    相关资源
    最近更新 更多