擅长:python、mysql、java
<p>我喜欢F.J.的回答,但我会使用元组列表,假设您可以轻松做到:</p>
<pre><code>from random import uniform
prob = [(0.25, 11), (0.30, 23), (0.45, 39)]
def onetrial(prob):
u = uniform(0, 1)
total_prob = 0
for i in range(3):
total_prob += prob[i][0]
if u <= total_prob:
return prob[i][1]
</code></pre>