Ett par
Nu ska vi använda simulering för att uppskatta sannolikheter. Anta att du blivit inbjuden till ett pokerspel hemma hos en vän. I den här varianten av spelet får du fem kort, och spelaren med den bästa handen vinner. Du kommer att använda en simulering för att uppskatta sannolikheten att få vissa händer. Vi börjar med att uppskatta sannolikheten för att få minst ett par. Ett par innebär att du får två kort med olika färg men samma siffervärde (t.ex. hjärter 2, spader 2 och tre andra kort).
När du är klar med den här övningen vet du hur man använder simulering för att beräkna sannolikheter i kortspel.
Den här övningen är en del av kursen
Statistisk simulering i Python
Övningsinstruktioner
- Dela ut handen: I for-loopen blandar du
deck_of_cards. Sedan väljer vi de första 5 korten som vårhand. - Räkna siffervärden: Använd metoden
get()för att bygga upp ordbokencards_in_hand, som räknar hur många gånger varjenumeric_valueförekommer ihand. - Är det ett par? Kontrollera om det största värdet i
cards_in_handär lika med eller större än2för att se om vi har minst ett par. Om ja, ökar vitwo_kindmed ett.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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))