Как с помощью заданных вероятностей заменить random(вместо случайных чисел даны вероятности)

Как с помощью заданных вероятностей заменить random?(вместо случайных чисел даны вероятности) У нас даны вероятности выпадения переменных (a, b, c, d) - 0.4, 0.3, 0.3, 0 соответственно.

Пример: Т.к вероятность выпадения "а" 0,4, она будет выпадать чаще всех в цикле, "d" c вероятностью 0, вообще не должна выпадать. Как это реализовать?

 import random
    a = 0.4
    b = 0.3
    c = 0.3
    d = 0
    array = [a, b, c, d]
    
    for i in range(10):
        j = random.randint(0, 3)
        print(array[j])

Ответы (1 шт):

Автор решения: Danis
import random
a = 0.4
b = 0.3
c = 0.3
d = 0
array = [a, b, c, d]
    
for i in range(10):
    n = random.random()
    x = 0
    for i in array:
        x += i
        if n <= x:
            print(i)
            break
→ Ссылка