Как взвешивать случайные числа в Python

Я натолкнулся на сценарий, который дает мне случайный бросок костей между 1 и 6.

import random
min = 1
max = 6

roll_again = "yes"

while roll_again == "yes" or roll_again == "y":
    print random.randint(min, max)
    print random.randint(min, max)

    roll_again = raw_input("Roll the dices again?")

Итак, я решил взять этот сценарий и создать сценарий, который использует значения случайного броска костей и использует их в качестве результатов в футбольной игре.

while roll_again == "yes" or roll_again == "y":
    team1_score = random.randint(min, max)
    team2_score = random.randint(min, max)

    roll_again = raw_input("Roll the dices again?")

Теперь у меня около 20 футбольных команд, которые играют в лиге. Я создал электронную таблицу и составил график для этой лиги. Я прочитал в 2 командах, которые играют в каждую игру и бросают кубики в сценарии выше, и это дает мне счет за эту игру (то есть team1_score = 5, team2_score = 3)

Теперь, как и в реальной жизни, некоторые из этих команд сильнее других, поэтому я хочу написать сценарий, который весит команды сильнее, чем другие, и, таким образом, дает ему больше шансов на победу (более высокий результат, чем у более слабой команды). Итак, если бы у меня был такой список:

Вес команды

team1 60

team2 20

team3 8

team3 8

team5 4

Как бы я передать это в random.randint(min,max) так что это дает лучшую вероятность того, что более сильная команда получит более высокий балл, чем более слабая команда?

1 ответ

Сначала вы можете найти соотношение между весом ваших команд, а затем разделить случайный диапазон на эти соотношения, например, здесь вес team1 в 7,5 раз больше, чем team3 поэтому, когда вы хотите выбрать счет между этими двумя командами на основе этого отношения, вы можете выбрать счет для team1 между max - ((max-min)/7.5) и для team3 между max а также min,

Другие вопросы по тегам