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