鱼C论坛

 找回密码
 立即注册
查看: 2286|回复: 5

[已解决]python怎么规定抽取元素的概率

[复制链接]
发表于 2023-3-25 21:45:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
python学习列表获取元素后“抽奖”如何规定抽取元素的概率
import random
prizes=['一等奖','二等奖','三等奖','谢谢惠顾']
random.choice(prizes)
print(random.choice(prizes))
最佳答案
2023-3-25 21:50:27
如果你想根据自定义的概率来抽取奖品,可以使用random.choices()函数并提供一个weights参数。

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

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

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

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

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

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

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

函数返回一个列表,包含抽取到的元素,我们用result[0]获取并打印抽取到的奖项。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-25 21:50:27 | 显示全部楼层    本楼为最佳答案   
如果你想根据自定义的概率来抽取奖品,可以使用random.choices()函数并提供一个weights参数。

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

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

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

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

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

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

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

函数返回一个列表,包含抽取到的元素,我们用result[0]获取并打印抽取到的奖项。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

weights参 ...

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-25 21:53:40 | 显示全部楼层

不客气,如果答案对你有用的话给个最佳呗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

weights参 ...

我之前问了实现这个功能还自己定义了 rand_prob() 函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-7 13:41:01 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-14 20:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表