如何将随机选择概率偏向一个选项?
How to skew random choice probability towards one option?
我正在 python 到 select win
或 lose
中使用 random
库。
import random
choice = random.choice(['win','lose'])
无论如何我可以说在代码中设置概率说每次代码运行时我想要的 lose
比 win
多吗?
一种控制随机(不会是随机...)的方法是:
生成一个 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)
我正在 python 到 select win
或 lose
中使用 random
库。
import random
choice = random.choice(['win','lose'])
无论如何我可以说在代码中设置概率说每次代码运行时我想要的 lose
比 win
多吗?
一种控制随机(不会是随机...)的方法是:
生成一个 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)