Фул-хаус
Повернімося до нашої гри в покер. Минулого разу ми обчислили ймовірність отримати щонайменше пару. Цього разу нас цікавить фул-хаус. Фул-хаус — це коли у вас є дві карти різних мастей з однаковим числовим значенням і ще три карти з іншим, але однаковим між собою значенням (наприклад, двійки черви та піки, і валети треф, бубен та пік).
Отже, фул-хаус — це подія, коли ви отримуєте рівно сет (три однакові) за умови, що також маєте рівно пару іншого значення. Використайте той самий код, що й раніше, та змініть умову успіху, щоб отримати потрібний результат. Ця вправа навчить вас оцінювати умовні ймовірності в картярських іграх і допоможе сформувати вміння формулювати абстрактні задачі для симуляції.
Ця вправа є частиною курсу
Статистичне моделювання в Python
Інструкції до вправи
- Перетасуйте
deck_of_cards. - Скористайтеся словником із
.get(), щоб підрахувати кількість входжень кожної карти в руці. - Збільшуйте лічильник
full_house, коли в руці є фул-хаус (2 одного рангу, 3 іншого).
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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))