import random
defnumber_of_certain_probability(sequence, probability):
x = random.uniform(0,1)
cumulative_probability =0.0for item, item_probability inzip(sequence, probability):
cumulative_probability += item_probability
if x < cumulative_probability:breakreturn item
# 测试代码
value_list =[0,1,2,3,4]
probability =[0.15,0.1,0.25,0.36,0.14]
zero =0
one =0
two =0
three =0
four =0for i inrange(1000):
result = number_of_certain_probability(value_list, probability)if result ==1:
one = one +1elif result ==0:
zero = zero +1elif result ==2:
two = two +1elif result ==3:
three = three +1elif result ==4:
four = four +1print(zero, one, two, three, four)