gpt4 book ai didi

python-3.x - 自动化无聊的事情 - 硬币翻转条纹

转载 作者:行者123 更新时间:2023-12-02 02:58:03 26 4
gpt4 key购买 nike

我知道现在有很多关于它的问题,即使是同一个问题,但我想我尝试了一些不同的方法。

任务是获取 10.000 个样本,每个样本翻转 100 次,然后计算所有样本出现 6 次正面或反面条纹的概率 - 据我所知。但是在之前的问题中,编码问题被描述为有点模糊。因此,如果你们能指出代码中的错误,那就太好了:)

我试着尽可能地懒惰,这导致我的 macbook 工作非常努力。这是我的代码。当前值与之前值的比较的第一次迭代是否有问题(据我所知,我会将索引 -1(然后是索引 100?)与当前值进行比较?)

import random

#variable declaration

numberOfStreaks = 0
CoinFlip = []
streak = 0

for experimentNumber in range(10000):
# Code that creates a list of 100 'heads' or 'tails' values.
for i in range(100):
CoinFlip.append(random.randint(0,1))
#does not matter if it is 0 or 1, H or T, peas or lentils. I am going to check if there is multiple 0 or 1 in a row

# Code that checks if there is a streak of 6 heads or tails in a row.
for i in range(len(CoinFlip)):
if CoinFlip[i] == CoinFlip[i-1]: #checks if current list item is the same as before
streak += 1
else:
streak = 0

if streak == 6:
numberOfStreaks += 1

print('Chance of streak: %s%%' % (numberOfStreaks / 100))

我哪里弄得一团糟?我真的看不出来!

最佳答案

您需要重置 CoinFlip 列表。您当前的程序只是不断地附加到 CoinFlip,这使得列表非常长。这就是你的表现不好的原因。我还添加了一个 i==0 的检查,这样您就不会与列表的末尾进行比较,因为从技术上讲,这不是连胜的一部分。

for experimentNumber in range(10000):
# Code that creates a list of 100 'heads' or 'tails' values.
for i in range(100):
CoinFlip.append(random.randint(0,1))
#does not matter if it is 0 or 1, H or T, peas or lentils. I am going to check if there is multiple 0 or 1 in a row

# Code that checks if there is a streak of 6 heads or tails in a row.
for i in range(len(CoinFlip)):
if i==0:
pass
elif CoinFlip[i] == CoinFlip[i-1]: #checks if current list item is the same as before
streak += 1
else:
streak = 0

if streak == 6:
numberOfStreaks += 1

CoinFlip = []

print('Chance of streak: %s%%' % (numberOfStreaks / (100*10000)))

我还认为您需要除以 100*10000 才能得到真正的概率。我不确定为什么他们的 "hint"建议仅除以 100。

关于python-3.x - 自动化无聊的事情 - 硬币翻转条纹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60658830/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com