Python 随机数生成,x概率为1
我正在使用一个数字生成器,目前正在使用下面的代码Python 随机数生成,x概率为1,python,Python,我正在使用一个数字生成器,目前正在使用下面的代码 from random import randint print(randint(0,1)) 当它工作时,我需要生成0或1,但我需要生成器以x(比如80%)概率生成1 如何在python中有效地实现这一点?random.random()将返回一个介于0和1之间的随机十进制数。使用此值确定您的选择: from random import random print(0 if random() > 0.8 else 1) 当然,0.8可以替
from random import randint
print(randint(0,1))
当它工作时,我需要生成0或1,但我需要生成器以x(比如80%)概率生成1
如何在python中有效地实现这一点?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!')
x=random()<0.8
如果x:
打印(“你好,世界!”)
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!')
x=random()<0.8
如果x:
打印(“你好,世界!”)
实际上,短版可以是print(random()<0.8)
@Fredrik他的评论很好。他建议如果他想用一个以这种方式确定的变量来确定动作,他可以用这个较短的版本来创建一个布尔变量,这就是为什么我说“实际上是这样的”。1
/0
和True
/False
之间唯一明显的区别是它们在打印时的外观,而且不太可能向用户展示这个结果。它更可能在程序的后期使用,在这种情况下,整数和布尔几乎可以互换。实际上,短版本可以是print(random()<0.8)
@Fredrik。他的评论很好。他建议如果他想用一个以这种方式确定的变量来确定动作,他可以用这个较短的版本来创建一个布尔变量,这就是为什么我说“实际上是这样的”。1
/0
和True
/False
之间唯一明显的区别是它们在打印时的外观,而且不太可能向用户展示这个结果。它更可能在程序的后面使用,在这种情况下,整数和布尔值几乎可以互换。