如何将随机选择概率偏向一个选项?

How to skew random choice probability towards one option?

我正在 python 到 select winlose 中使用 random 库。

import random

choice = random.choice(['win','lose'])

无论如何我可以说在代码中设置概率说每次代码运行时我想要的 losewin 多吗?

一种控制随机(不会是随机...)的方法是:

生成一个 1 到 100 之间的数字:

n = random.randint(1,101)

然后将其与您想要的 win/loses 的百分比进行比较:

chances_to_win = 51  # 50%

if n < chances_to_win:
    print(str(chances_to_win-1) +"% chances to Win")
    choice = "Win"
else:
    print(str(100-(chances_to_win-1)) +"% chances to Lose")
    choice = "Lose"

这样,您就可以控制输赢的百分比。

好吧,@CloC 在技术上是正确的,你可以这样做,但最好使用标准的 Python 库,因为它的设计更少代码,更少错误

F.e., 中奖概率为60%的抽样

v = random.choices(["Win", "Lose"], weights=[60, 40], k=1)