欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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