Как выбрать случайное число из супернабора с различной вероятностью для каждого поднабора - PullRequest
0 голосов
/ 08 ноября 2019

Мне нужно выбрать случайное число из набора Y из 100 чисел как [1.00 до 2.00) с четырьмя подмножествами следующей вероятности.

  1. Y1 -> [1.00-1.39) -- вероятность (0,4)
  2. Y2 -> [1,40-1,69) --- вероятность (0,3)
  3. Y1 -> [1,70-1,89) --- вероятность (0,2)
  4. Y1 -> [1.90-1.99) --- вероятность (0.1)

Как мне подойти к этой проблеме?

1 Ответ

0 голосов
/ 08 ноября 2019

Вы можете использовать random.choices. Хорошо, что вы можете указать вес

import random
def pick_random():
    randoms = [random.uniform(1.0, 1.39), random.uniform(1.4, 1.69), random.uniform(1.7, 1.89), random.uniform(1.9, 1.99)]
    weights = [0.4, 0.3, 0.2, 0.1]
    return round(random.choices(randoms, weights=weights)[0], 2)
...