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

Python 根据概率将变量设置为不同的值,python,probability,either,Python,Probability,Either,我有一个变量x,我想把它设为1或2,概率为60%,x=1,概率为40% 我是在一个类中这样做的,所以x应该在每次单击按钮时重新生成,然后我将绘制它,但我不确定如何使用特定的概率设置它。我知道我可以随意做,但那不是我想要的 有人知道怎么做吗?Random使用均匀分布,所以您可以这样使用它: x = 1 if random.random() < 0.6 else 2 x=1如果随机。随机()

我有一个变量x,我想把它设为1或2,概率为60%,x=1,概率为40%

我是在一个类中这样做的,所以x应该在每次单击按钮时重新生成,然后我将绘制它,但我不确定如何使用特定的概率设置它。我知道我可以随意做,但那不是我想要的


有人知道怎么做吗?

Random使用均匀分布,所以您可以这样使用它:

x = 1 if random.random() < 0.6 else 2
x=1如果随机。随机()<0.6否则2

您只需获取一个随机值,检查它是否小于所需的概率,然后返回第一个或第二个选项:

def random_choice(val1, val2, probability_of_val1):
    return val1 if random.random() < probability_of_val1 else val2
def随机选择(val1,val2,val1的概率):
如果为random,则返回val1.random()
一个简单的策略可以是:

  • 生成0-1之间的随机数
  • 如果随机数大于0.6,则指定值2
  • 否则赋值1
  • 执行此操作的Python代码:

    import random
    if random.random() > 0.6:
      x = 2
    else:
      x = 1
    
    也可能是重复的