Взвешенный случайный Python [дубликат]

На этот вопрос уже есть ответ здесь:

Взвешенная версия random.choice 20 ответов

Мне нужно возвращать разные значения на основе взвешенного циклического перебора, так что 1 из 20 получает A, 1 из 20 получает B, а остальные переходят в C.

Так:

A => 5%
B => 5%
C => 90%

Вот'Базовая версия, которая работает:

import random

x = random.randint(1, 100)

if x  5 and x 

Ответы на вопрос(4)

Ваш ответ на вопрос