根据概率将变量设置为不同的值

Set variable to different value based on probability

我有一个变量 x,我想将其设置为值 1 或 2,x=1 的概率为 60%,x=2 的概率为 40%。

我在 class 中执行此操作,因此每次单击按钮时 x 都应该重新生成,然后我将绘制它,但我不确定如何使用特定概率设置它。我知道我可以随机进行,但这不是我想要的。

有人知道怎么做吗?

随机使用均匀分布,所以你可以这样使用:

x = 1 if random.random() < 0.6 else 2

你只是取一个随机值,检查它是否小于期望的概率,return第一个或第二个选项:

def random_choice(val1, val2, probability_of_val1):
    return val1 if random.random() < probability_of_val1 else val2

一个简单的策略如下:

  1. 生成0-1之间的随机数
  2. 如果随机数大于0.6赋值2
  3. 否则赋值1

Python 执行此操作的代码:

import random
if random.random() > 0.6:
  x = 2
else:
  x = 1