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

Фулл-хаус

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

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

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

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

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

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

  • Перемешайте deck_of_cards.
  • Используйте словарь с методом .get(), чтобы подсчитать количество вхождений каждой карты в руке.
  • Увеличьте счётчик full_house, когда в руке окажется фулл-хаус (две карты одного достоинства и три карты другого).

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

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

# Shuffle deck & count card occurrences in the hand
n_sims, full_house, deck_of_cards = 50000, 0, deck.copy() 
for i in range(n_sims):
    ____
    hand, cards_in_hand = deck_of_cards[0:5], {}
    for card in hand:
        # Use .get() method to count occurrences of each card
        cards_in_hand[card[1]] = cards_in_hand.____(card[1], 0) + 1
        
    # Condition for getting full house
    condition = (max(cards_in_hand.values()) ==3) & (min(cards_in_hand.values())==2)
    if condition: 
        full_house ____
print("Probability of seeing a full house = {}".format(full_house/n_sims))
Редактировать и запускать код