我正试图编写一个程序,以找出随机生成的100个正面和反面的列表中,六个正面或六个反面的条纹出现的频率,并重复这10000次,以发现投币的百分比包含一行六个正面或反面的条纹
我的代码是这样的,它是某种工作方式**我想知道的是,它是否给出了正确的结果:*
import random
numberOfStreaks = 0
# Code that creates a list of 100 'heads' or 'tails' values.
for experimentNumber in range(10000):
results = []
for experiment in range(100):
x = random.randint(1, 2)
if x == 1:
results.append('H')
else:
results.append('T')
# Code that checks if there is a streak of 6 heads or tails in a row.
currentStreak = 0
previousResult = results[0]
for result in results:
if currentStreak == 6:
numberOfStreaks += 1
currentStreak = 0
if result == previousResult:
currentStreak += 1
previousResult = result
print('Chance of streak: %s%%' % (numberOfStreaks / 100))
在您的代码中,您正在计算每套结果中的总体条纹数,然后将其除以100进行打印。那不是你想找到的
您要检查有多少实验包含6条或更高的条纹
这是我的刺拳
首先,让我们做个实验
事先设置这些参数总是好的,这样在调整时就可以更改它们
现在我们有很多实验在
streaks
中发现了条纹我们可以用它除以实验次数,再乘以100
print(streaks / number_of_experiments * 100, "%")
你需要将你得到的条纹数除以10000个实验中可能出现的条纹数,我相信这就是出现条纹的概率
输出:
相关问题 更多 >
编程相关推荐