📌  相关文章
📜  编写一个函数,根据给定的概率生成3个数字之一(1)

📅  最后修改于: 2023-12-03 14:56:57.440000             🧑  作者: Mango

编写一个函数,根据给定的概率生成3个数字之一

在开发中,有时候需要根据给定的概率生成一个数字,比如说根据一定的概率生成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个数字之一的示例函数,希望可以对你有所帮助!