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
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_housevž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))