ПочатиПочніть безкоштовно

Фул-хаус

Повернімося до нашої гри в покер. Минулого разу ми обчислили ймовірність отримати щонайменше пару. Цього разу нас цікавить фул-хаус. Фул-хаус — це коли у вас є дві карти різних мастей з однаковим числовим значенням і ще три карти з іншим, але однаковим між собою значенням (наприклад, двійки черви та піки, і валети треф, бубен та пік).

Отже, фул-хаус — це подія, коли ви отримуєте рівно сет (три однакові) за умови, що також маєте рівно пару іншого значення. Використайте той самий код, що й раніше, та змініть умову успіху, щоб отримати потрібний результат. Ця вправа навчить вас оцінювати умовні ймовірності в картярських іграх і допоможе сформувати вміння формулювати абстрактні задачі для симуляції.

Ця вправа є частиною курсу

Статистичне моделювання в 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))
Редагувати та запускати код