python实现抛掷硬币
程序员文章站
2024-03-26 10:06:05
...
话不多说,先上源代码
import numpy as np
import matplotlib.pyplot as plt
import random
'''
用代码实现抛掷硬币N次后,观察正面向上的概率随着抛掷次数的变化
'''
# 定义做500次试验,每次抛掷10 * n次,即,每次抛掷硬币10, 20,30...
batch = 50
samples = [10 * i for i in range(1, batch + 1)]
result = []
result_mean = []
# 统计每批试验正面向上的概率
for _ in range(batch):
for i in range(samples[_]):
result.append(random.randint(0, 1))
result_mean.append(np.mean(result))
xaxis = list(range(batch))
plt.plot(xaxis, result_mean)
plt.xlabel('Number of throwing coin')
plt.ylabel('Positive upward probability')
plt.title('Probability of positive head-up as the number of tossed coins increases')
plt.show()
记得上初中的时候老师教过,随着抛掷硬币次数的增加,正面向上的概率趋近于0.5, 今天就用python实现了一下,感觉还不错,仔细想想特别佩服这些老爷爷,试想一下,在大家每天奔波于生计之时,你家对门的小李,每天好像没事干天天抛硬币,但凡是个人,总觉得这个人好诡异,可是千年过后,这些人被记载入了教科书中.
代码比较简单,就不多说了,大家看看就行