Как наклонить вероятность случайного выбора к одному варианту? - PullRequest
0 голосов
/ 06 декабря 2018

Я использую библиотеку random в python, чтобы выбрать win или lose.

import random

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

Можно ли в любом случае сказать, установить в коде вероятность того, что я хочу больше lose, чем win при каждом запуске кода?

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Ну, @CloC технически прав, вы могли бы сделать это, но лучше использовать стандартную библиотеку Python, так как она разработана, меньше кода, меньше ошибок

Fe, выборка с вероятностью выигрыша 60%

v = random.choices(["Win", "Lose"], weights=[60, 40], k=1)
0 голосов
/ 06 декабря 2018

Способ контроля случайности (который не будет случайным ...) может быть следующим:

Создать число в диапазоне от 1 до 100:

n = random.randint(1,101)

, а затем сравнить его стребуемый процент выигрыша / проигрыша:

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"

Таким образом, вы можете контролировать процент выигрыша и проигрыша.

...