НачатьНачать бесплатно

Пара карт

Теперь воспользуемся симуляцией для оценки вероятностей. Представьте, что вас пригласили сыграть в покер у друга. В этом варианте игры каждому игроку раздают пять карт, и побеждает тот, у кого комбинация сильнее. С помощью симуляции вы оцените вероятность получения определённых комбинаций. Начнём с оценки вероятности получить хотя бы пару. Пара — это две карты одного достоинства, но разных мастей (например, двойка червей и двойка пик), плюс три другие карты.

По завершении упражнения вы будете знать, как применять симуляцию для расчёта вероятностей в карточных играх.

Это упражнение является частью курса

Статистическое моделирование на Python

Посмотреть курс

Инструкции к упражнению

  • Раздача карт: внутри цикла for перемешайте колоду deck_of_cards. Затем возьмите первые 5 карт в качестве руки hand.
  • Подсчёт достоинств: используйте метод get(), чтобы построить словарь cards_in_hand, который считает, сколько раз каждое значение numeric_value встречается в hand.
  • Есть ли пара? Проверьте, равно ли наибольшее значение в словаре cards_in_hand двум или превышает его, — это означает, что у нас есть хотя бы пара. Если условие выполнено, увеличьте счётчик two_kind на единицу.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Shuffle deck & count card occurrences in the hand
n_sims, two_kind = 10000, 0
for i in range(n_sims):
    ____
    hand, cards_in_hand = deck_of_cards[0:5], {}
    for [suite, numeric_value] in hand:
        # Count occurrences of each numeric value
        cards_in_hand[numeric_value] = cards_in_hand.____(numeric_value, 0) + 1
    
    # Condition for getting at least 2 of a kind
    if ____ >=2: 
        two_kind += 1

print("Probability of seeing at least two of a kind = {} ".format(two_kind/n_sims))
Редактировать и запускать код