python实现抛掷硬币

话不多说,先上源代码

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实现了一下,感觉还不错,仔细想想特别佩服这些老爷爷,试想一下,在大家每天奔波于生计之时,你家对门的小李,每天好像没事干天天抛硬币,但凡是个人,总觉得这个人好诡异,可是千年过后,这些人被记载入了教科书中.
代码比较简单,就不多说了,大家看看就行

猜你喜欢

转载自blog.csdn.net/sinat_42856437/article/details/88974158
今日推荐