gpt4 book ai didi

python - 如何模拟有偏硬币的翻转?

转载 作者:IT老高 更新时间:2023-10-28 22:24:11 24 4
gpt4 key购买 nike

在无偏掷硬币中,H 或 T 出现 50% 的次数。

但我想模拟硬币,它给出概率为“p”的 H 和概率为“(1-p)”的 T。

类似这样的:

def flip(p):
'''this function return H with probability p'''
# do something
return result

>> [flip(0.8) for i in xrange(10)]
[H,H,T,H,H,H,T,H,H,H]

最佳答案

random.random() 返回 [0, 1) 范围内的均匀分布伪随机 float 。该数字小于 [0,1) 范围内的给定数字 p,概率为 p。因此:

def flip(p):
return 'H' if random.random() < p else 'T'

一些实验:

>>> N = 100
>>> flips = [flip(0.2) for i in xrange(N)]
>>> float(flips.count('H'))/N
0.17999999999999999 # Approximately 20% of the coins are heads

>>> N = 10000
>>> flips = [flip(0.2) for i in xrange(N)]
>>> float(flips.count('H'))/N
0.20549999999999999 # Better approximation

关于python - 如何模拟有偏硬币的翻转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/477237/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com