Začněte nyníZačněte zdarma

Full house

Vraťme se k naší pokerové hře. Minule jsme počítali pravděpodobnost získání alespoň dvou karet stejné hodnoty. Tentokrát nás zajímá full house. Full house nastane, když máš dvě karty různých barev se stejnou číselnou hodnotou a tři další karty se stejnou číselnou hodnotou (např. dvojka srdcová a pikový, a klukové kárový, srdcový a pikový).

Full house tedy představuje pravděpodobnost získání přesně tří karet stejné hodnoty za podmínky, že zároveň máš přesně dvě karty jiné stejné hodnoty. Vycházej ze stejného kódu jako dříve a uprav podmínku úspěchu tak, aby dávala požadovaný výsledek. Toto cvičení tě naučí odhadovat podmíněné pravděpodobnosti v karetních hrách a posílí tvůj základ pro formulování abstraktních problémů v simulacích.

Toto cvičení je součástí kurzu

Statistické simulace v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Zamíchej deck_of_cards.
  • Pomocí slovníku s metodou .get() spočítej počet výskytů každé karty v ruce.
  • Zvyš čítač full_house vždy, když je v ruce full house (2 karty jedné hodnoty a 3 karty jiné hodnoty).

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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))
Upravit a spustit kód