我正在使用目前使用以下代码的数字生成器
from random import randint
print(randint(0,1))
当它工作时,我需要生成0或1,但我需要生成器生成1 with a x (say 80%)
概率
如何在python中有效实现这一目标?
答案 0 :(得分:5)
random.random()
会在0
和1
之间返回一个随机小数。使用此值确定您的选择:
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!')