Jeden pár
Teď použijeme simulaci k odhadování pravděpodobností. Představ si, že tě kamarád pozval na poker domů. V této variantě hry dostaneš pět karet a vyhraje ten, kdo má lepší kombinaci. Pomocí simulace odhadneme pravděpodobnost, že dostaneš určité kombinace karet. Zaměříme se na odhad pravděpodobnosti získání alespoň jednoho páru. Pár je situace, kdy máš dvě karty různých barev, ale se stejnou číselnou hodnotou (např. 2 srdcová a 2 piková, plus 3 další karty).
Po dokončení tohoto cvičení budeš vědět, jak pomocí simulace počítat pravděpodobnosti v karetních hrách.
Toto cvičení je součástí kurzu
Statistické simulace v Pythonu
Pokyny k cvičení
- Rozdej karty: V cyklu for zamíchej
deck_of_cards. Poté vyber prvních 5 karet jako svůjhand. - Spočítej číselné hodnoty: Pomocí metody
get()sestav slovníkcards_in_hand, který počítá výskyt každénumeric_valuevhand. - Je to pár? Zkontroluj, jestli je největší hodnota ve slovníku
cards_in_handrovna nebo větší než2– tak zjistíš, zda máš alespoň jeden pár. Pokud ano, zvyš hodnotutwo_kindo 1.
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, two_kind = 10000, 0
for i in range(n_sims):
____
hand, cards_in_hand = deck_of_cards[0:5], {}
for [suite, numeric_value] in hand:
# Count occurrences of each numeric value
cards_in_hand[numeric_value] = cards_in_hand.____(numeric_value, 0) + 1
# Condition for getting at least 2 of a kind
if ____ >=2:
two_kind += 1
print("Probability of seeing at least two of a kind = {} ".format(two_kind/n_sims))