生成随机数,x为1的概率

时间:2016-11-26 21:31:04

标签: python

我正在使用目前使用以下代码的数字生成器

from random import randint
print(randint(0,1))

当它工作时,我需要生成0或1,但我需要生成器生成1 with a x (say 80%)概率

如何在python中有效实现这一目标?

1 个答案:

答案 0 :(得分:5)

random.random()会在01之间返回一个随机小数。使用此值确定您的选择:

from random import random 
print(0 if random() > 0.8 else 1)

当然,0.8可以替换为任何概率(60% -> 0.6)。

正如@ TigerhawkT3所指出的那样,如果你想根据随机概率做一个动作,你可以使用较短的版本random() < 0.8生成一个布尔变量,比如

x = random() < 0.8
if x:
    print('hello world!')