📅  最后修改于: 2023-12-03 14:56:57.440000             🧑  作者: Mango
在开发中,有时候需要根据给定的概率生成一个数字,比如说根据一定的概率生成0、1或2。我们可以编写一个函数来实现这个功能。
以下是一个基于Python的示例函数:
import random
def generate_number():
probabilities = [0.2, 0.3, 0.5] # 三个数字的概率,和为1
return random.choices(population=[0, 1, 2], weights=probabilities)
这个函数使用了Python中的random.choices()
函数,它可以根据给定的概率从population
参数中随机选择一个元素。
我们将0、1、2三个数字分别对应的概率分别设为0.2、0.3、0.5。这样,我们每次调用generate_number()
函数时,就能以这个概率生成三个数字之一。
注意,这里的概率和必须为1。如果和不为1,那么choices()
函数将无法正常工作。
我们在主函数中调用generate_number()
函数,输出其返回值,验证其正确性:
if __name__ == '__main__':
for i in range(10):
print(generate_number())
运行结果如下:
[2]
[2]
[2]
[0]
[1]
[0]
[2]
[1]
[2]
[2]
可以看到,每次调用generate_number()
函数都能按照我们设定的概率生成三个数字之一。
以上就是根据给定的概率生成3个数字之一的示例函数,希望可以对你有所帮助!