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
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łownikcards_in_hand, który zlicza wystąpienia każdej wartościnumeric_valuewhand. - Czy to para? Sprawdź, czy największa wartość w
cards_in_handjest równa lub większa od2, aby ustalić, czy mamy co najmniej parę. Jeśli tak, zwiększtwo_kindo 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))