【发布时间】:2021-11-15 13:55:10
【问题描述】:
import random as rd
n = 0
ListOfStreaks = []
ListOfResults = []
while n != 10:
numberOfStreaks = 0
for i in range(100):
Flip = rd.randint(0,1)
ListOfResults.append(Flip)
for i in range(96):
count = 0
for j in range(6):
if ListOfResults[i] == ListOfResults[i + j]:
count += 1
if count == 6:
numberOfStreaks += 1
count = 0
else:
continue
else:
break
ListOfStreaks.append(numberOfStreaks)
n += 1
print(ListOfStreaks)
print(len(ListOfResults))
在上面的代码中,我能够成功地掷硬币 100 次,并检查在 100 次翻转中连续出现 6 次正面或反面的次数。我无法正确设置代码以运行 10 次实验,以检查每个实验中正面或反面连续出现六次的次数。目标不是连续抛硬币 1000 次,而是连续抛 100 次硬币的 10 次实验。
该练习的重点是稍后能够模拟实验 10,000 次,以查看正面或反面在 100 次翻转中连续出现 6 次的概率。本质上,我试图收集足够的样本量。虽然有实际的统计/概率方法可以得到准确的答案,但这不是我想要关注的。
【问题讨论】:
-
如果您的代码为“单一实验”完成了您想要的操作,那么您最简单的方法是将其放入一个函数中并调用该函数 10 次。该函数应返回条纹数。
标签: python python-3.x coin-flipping