在本练习中,我们将尝试做一个实验。如果你掷硬币100次,并在每次正面时写
下“H”,在每次反面时写下“T”,就会创建一个看起来像“T T T T T H H H H T T”这样的列
表。如果你要求一个人进行100次随机掷硬币,你可能会得到交替正反的结果,例如“H T
H T H H T H T T T”,(对人类而言)这看起来是随机的,但在数学上并不是随机的。即
使极有可能发生在真正随机的硬币翻转中,人类也几乎永远不会写下连续6个正面或6个反
面。可以预见,人类在随机性方面会很糟糕。
编写一个程序,查找随机生成的正面和反面列表中出现连续6个正面或6个反面的频
率。你的程序将实验分为两部分:第一部分生成随机选择的“正面”和“反面”值的列表,第
二部分检查其中是否有连胜。将所有这些代码放入一个循环中,重复该实验10 000次,这
样我们就可以找出掷硬币中包含连续6个正面或反面的百分比。作为提示,函数调
用random.randint(0,1)将在50%的时间返回0值,在另外50%的时间返回1值。
import random
numberlist = []
number100T = 0
number100F = 0
numberOfStreaksT = 0
numberOfStreaksF = 0
for experimentNumber in range(10000):
#10000次数列
if random.randint(0,1) == 0 :
numberlist.append('F')
else :
numberlist.append('T')
#