Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как сделать шанс выпадания этого элемента из листа рандомом на Python?

Firts Igor Ученик (180), закрыт 2 месяца назад
У меня есть такой код(он снизу) и я хочу что это(прокомментированное) выпадало с меньшим шансом, чем остальное.

 card = [ 
"Повышение своего класса машины до максимума (для своей машины)",
"Повышение класса машины на следующий (для своей машины)",
"Прокрут рулетки заново (для себя)",
"'-0.1' баллов выборочному сопернику",
"Прокрут рулетки выборочному сопернику заново",
"Поменятся карточками с выборочным соперником (если у соперника нет карточек, все твои сгорают)",
"Раскрыть машину выборочного соперника (для всех)",
"Раскрыть все карточки выборочного соперника (для всех)",
"Сжечь все карточки выборочного соперника (если у соперника нет карточек, все твои сгорают)",
"Отмена действия карточки выборочного соперника (его карточка сгорает)",
"Доп. баллы (1 место - +0.5 б; 2 место - '+0.25' б; 3 место - -0.25 б; 4 место - -0.5 б)",
"'-0.5' баллов выборочному сопернику и себе" # Это с меньшим шансом
]

random_card = random.choice(card)
print("\n Случайная карточка из списка: ", random_card, "\n")
Лучший ответ
Almaz NicKOo Профи (887) 2 месяца назад
можно использовать random.choices(), которая позволяет задать вероятность (вес) для каждого элемента например:

 cards = ['a', 'b', 'c', ...] 

# Вероятности выпадения для каждого элемента (вес)
weights = [0.1, 0.3, 0.6] # a - 10%, b - 30%, c - 60%

random_card = random.choices(cards, weights=weights, k=1)

print(random_card[0])
k=1 — это количество выборов. В данном случае выбирается один элемент.
Остальные ответы
Endoes Знаток (338) 2 месяца назад
Самый простой способ это добавить элемент 2 раза в список (для большего шанса именно)
Похожие вопросы