姚某人 发表于 2023-3-25 21:45:51

python怎么规定抽取元素的概率

python学习列表获取元素后“抽奖”如何规定抽取元素的概率{:10_254:}
import random
prizes=['一等奖','二等奖','三等奖','谢谢惠顾']
random.choice(prizes)
print(random.choice(prizes))

isdkz 发表于 2023-3-25 21:50:27

如果你想根据自定义的概率来抽取奖品,可以使用random.choices()函数并提供一个weights参数。

weights参数是一个概率列表,与奖品列表中的元素一一对应。

请注意,概率值应该是非负的,而且总和不一定要等于1,它们将被归一化为概率。

例如,你可以使用以下代码为每个奖项设定不同的概率:

import random

prizes = ['一等奖', '二等奖', '三等奖', '谢谢惠顾']
weights = # 代表各奖项的概率:一等奖 1%,二等奖 5%,三等奖 20%,谢谢惠顾 74%

# 使用 random.choices 函数进行抽奖
result = random.choices(prizes, weights=weights, k=1)
print(result)


在这个例子中,weights列表表示一等奖的概率为1%,二等奖为5%,三等奖为20%,谢谢惠顾为74%。

random.choices()函数的k参数表示你希望抽取的元素数量,这里我们设置为1。

函数返回一个列表,包含抽取到的元素,我们用result获取并打印抽取到的奖项。

姚某人 发表于 2023-3-25 21:52:34

isdkz 发表于 2023-3-25 21:50
如果你想根据自定义的概率来抽取奖品,可以使用random.choices()函数并提供一个weights参数。

weights参 ...

谢谢{:10_282:}

isdkz 发表于 2023-3-25 21:53:40

姚某人 发表于 2023-3-25 21:52
谢谢

不客气,如果答案对你有用的话给个最佳呗{:10_254:}

歌者文明清理员 发表于 2023-3-26 07:22:35

isdkz 发表于 2023-3-25 21:50
如果你想根据自定义的概率来抽取奖品,可以使用random.choices()函数并提供一个weights参数。

weights参 ...

我之前问了实现这个功能还自己定义了 rand_prob() 函数{:10_266:}

match123_xbd 发表于 2023-4-7 13:41:01

{:5_106:}
页: [1]
查看完整版本: python怎么规定抽取元素的概率