在python中使用百分比函数生成python中的选定值的随机数

tre*_*ten 4 python random

让我们说我想在python中使用类似的东西生成一个随机数,random.randint(1,100)但我怎么会让Python想要选择更高的随机数呢?因此,如果我想要选择80%的50以上的数字,20%的数字低于50.像赌场老虎机概率.(我们都知道那里不是真正的随机,而是设置了概率).

我试过了

import random

random.randint(1,100)
select % above 50
Run Code Online (Sandbox Code Playgroud)

Joe*_*nin 9

尝试使用加权列表,如下所示:

import random
my_list = ['A'] * 5 + ['B'] * 5 + ['C'] * 90
random.choice(my_list)
Run Code Online (Sandbox Code Playgroud)

请参阅Python加权随机.为了使从51到100的数字被选择的次数增加两倍而不是从1到50的数字,请执行以下操作:

import random

my_list = []

for i in range(1, 100):
    my_list.append(i)
    if i > 50:
        my_list.append(i)

print my_list
print 'Random (sort of) choice: %s' % random.choice(my_list)
Run Code Online (Sandbox Code Playgroud)