如何编程函数以某种概率返回值?

Shu*_*ham 2 language-agnostic algorithm probability

我在玩FIFA时出现了这个问题.

假设他们编写了一个复杂的功能,其中包括所有因素,如射击技能,距离,射击力等,以计算射击击中目标的概率.他们如何根据这个概率编程出目标发生的东西?

换句话说,像函数X()一样,它返回1 89%和0 11%的概率.我将如何编程以便在100次试验中返回1次(大约)89次?

NPE*_*NPE 6

在和之间生成均匀分布的随机数,并在数字小于期望概率()时返回.01true0.89

例如,在IPython中:

In [13]: from random import random

In [14]: vals = [random() < 0.89 for i in range(10000)]

In [15]: sum(vals)
Out[15]: 8956
Run Code Online (Sandbox Code Playgroud)

在这个实现中,10000个布尔结果中有8956个true.如果我们重复实验,数字将在8900左右变化.