Zacznij terazZacznij za darmo

Para

Wykorzystajmy teraz symulację do szacowania prawdopodobieństw. Wyobraź sobie, że zostałeś(-aś) zaproszony(-a) na partię pokera u znajomego. W tej wersji gry każdy gracz otrzymuje pięć kart, a wygrywa ten, kto ma lepszy układ. Użyjemy symulacji, aby oszacować prawdopodobieństwa uzyskania określonych układów. Zacznijmy od oszacowania prawdopodobieństwa uzyskania co najmniej pary. Para to dwie karty różnych kolorów, ale o tej samej wartości numerycznej (np. 2 kier, 2 pik i 3 inne karty).

Po ukończeniu tego ćwiczenia będziesz wiedzieć, jak używać symulacji do obliczania prawdopodobieństw w grach karcianych.

To ćwiczenie jest częścią kursu

Symulacje statystyczne w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Rozdaj karty: W pętli for potasuj deck_of_cards. Następnie wybierz pierwsze 5 kart jako swoją hand.
  • Zlicz wartości numeryczne: Użyj metody get(), aby zbudować słownik cards_in_hand, który zlicza wystąpienia każdej wartości numeric_value w hand.
  • Czy to para? Sprawdź, czy największa wartość w cards_in_hand jest równa lub większa od 2, aby ustalić, czy mamy co najmniej parę. Jeśli tak, zwiększ two_kind o jeden.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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))
Edytuj i uruchom kod