让我们说我想在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)
尝试使用加权列表,如下所示:
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)