Сбор случайных предметов в сбалансированной материиPython

Программы на Python
Anonymous
Сбор случайных предметов в сбалансированной материи

Сообщение Anonymous »

В настоящее время я работаю над идеей создания программы на Python, которая выбирает элементы случайным образом, но сбалансированно. У меня есть некоторые идеи, как подойти к этой задаче, но мне было любопытно, что здесь может предложить Stack Overflow. Эта задача касается карт Magic the Gathering.
Итак, давайте представим, что у меня есть совершенно случайный набор карт. Для простоты все они одноцветные. Есть и другие цвета (бесцветные и разноцветные). Таким образом, выбор на основе циклического перебора не идеален.
card_colors = [ "W", "U", "B", "R", "G" ]
Предположим, что у меня есть 500 карт в пуле, который уже сбалансирован, и я бы выбрал случайным образом 100 карт.
Как мне добиться выбора таким образом, чтобы в конечном итоге у меня не было ситуации, когда эти 5 цветов не сбалансированы? Допустим, «отклонение» цвета от среднего не превышает 5 карт?
Некоторые идеи:
  • Выберите 100 карт. Проверьте, какой (если) цвет или цвета несбалансированы. Допустим, их слишком много. Удалите случайно подходящее количество карт и добавьте такое же количество карт другого цвета. И повторите, если необходимо.
  • Имейте некоторую форму динамического веса в процессе случайного выбора. Возможно, это звучит сложно.
Есть идеи?

Вернуться в «Python»