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

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

Zobrazit kurz

Pokyny k cvičení

  • Rozdej karty: V cyklu for zamíchej deck_of_cards. Poté vyber prvních 5 karet jako svůj hand.
  • Spočítej číselné hodnoty: Pomocí metody get() sestav slovník cards_in_hand, který počítá výskyt každé numeric_value v hand.
  • Je to pár? Zkontroluj, jestli je největší hodnota ve slovníku cards_in_hand rovna nebo větší než 2 – tak zjistíš, zda máš alespoň jeden pár. Pokud ano, zvyš hodnotu two_kind o 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))
Upravit a spustit kód