Python 采取行动的机会百分比
简单问题:Python 采取行动的机会百分比,python,random,Python,Random,简单问题: percentage_chance = 0.36 if some_function(percentage_chance): # action here has 36% chance to execute pass 如何编写某些函数,或包含概率百分比的表达式来解决此问题?您可以使用: 随机导入 如果随机。随机() 打印('aaa') 随机导入 如果随机。随机数(0100)
percentage_chance = 0.36
if some_function(percentage_chance):
# action here has 36% chance to execute
pass
如何编写某些函数
,或包含概率百分比
的表达式来解决此问题?您可以使用:
随机导入
如果随机。随机()
打印('aaa')
随机导入
如果随机。随机数(0100)<36:
做某事
此代码返回1.36%的时间
import random
import math
chance = 0.36
math.floor( random.uniform(0, 1/(1-chance)) )
为了让它更清晰易读:
def可能(偶然):
返回random.random()
如果可能(35/100):
做那件事
太好了,现在我有random.randrange(1100)在range(1,int(chance*100))中,但我认为这不对。random.random返回一个浮点数,一个连续的范围,而randrange默认返回一个int,因此它是范围内的一组离散点。如果您的百分比概率介于离散点之间,则类似于将其向上或向下四舍五入到最接近的值。最好使用randrange
函数。该注释需要限定randrange
将改变行为。
import random
if random.randint(0,100) < 36:
do_stuff()
import random
import math
chance = 0.36
math.floor( random.uniform(0, 1/(1-chance)) )