增加随机模块的递减机会

问题描述 投票:0回答:1

例如,我正在编程一个游戏。我需要一些钱。箱子是免费的,但钥匙是付费的。我如何能增加机会的 所需钥匙的高级箱子 我如何才能减少机会的 完全免费的优质胸围

import random 

list1 = ["fully free premium chest", "key needed premium chest", "fully free normal chest"]


random.choice(list1)
python random probability
1个回答
0
投票

使用 随机选择 并给你的不同选项赋予权重,权重与你想给每个选项的概率成正比。

返回一个从人口中选择的k大小的元素列表,并进行替换。如果人口是空的,会引发IndexError。

如果指定了权重序列,则根据相对权重进行选择。或者,如果给定了一个 cum_weights 序列,则根据累积权重(可能是使用 itertools.accumulate()计算的)进行选择。例如,相对权重[10,5,30,5]相当于累计权重[10,15,45,50]。在内部,在进行选择之前,相对权重会被转换为累积权重,因此提供累积权重可以节省工作。

例如,你可以用权重[10,40,2]给第二项选择的概率大一些,给最后一项选择的概率小一些。

这将是。

import random 

list1 = ["fully free premium chest", "key needed premium chest", "fully free normal chest"]


random.choices(list1, weights=[10, 40, 2], k=1)[0]
# 'key needed premium chest'
© www.soinside.com 2019 - 2024. All rights reserved.