Kom igångKom igång gratis

Kåk

Vi återvänder till pokerspelet. Förra gången beräknade vi sannolikheten för att få minst ett par. Den här gången är vi intresserade av kåk. En kåk innebär att du får två kort av olika färger med samma valör och tre andra kort med samma valör (t.ex. hjärter 2 och spader 2, samt klöver knekt, ruter knekt och spader knekt).

En kåk är alltså sannolikheten för att få exakt tretal, givet att du redan har ett par av en annan valör. Använd samma kod som tidigare och ändra villkoret för ett lyckat utfall för att få önskat resultat. Den här övningen lär dig att uppskatta betingade sannolikheter i kortspel och bygger upp din förmåga att formulera abstrakta problem för simulering.

Den här övningen är en del av kursen

Statistisk simulering i Python

Visa kurs

Övningsinstruktioner

  • Blanda deck_of_cards.
  • Använd en ordbok med .get() för att räkna antalet förekomster av varje kort i handen.
  • Öka räknaren full_house när det finns en kåk i handen (2 av en valör, 3 av en annan).

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, full_house, deck_of_cards = 50000, 0, deck.copy() 
for i in range(n_sims):
    ____
    hand, cards_in_hand = deck_of_cards[0:5], {}
    for card in hand:
        # Use .get() method to count occurrences of each card
        cards_in_hand[card[1]] = cards_in_hand.____(card[1], 0) + 1
        
    # Condition for getting full house
    condition = (max(cards_in_hand.values()) ==3) & (min(cards_in_hand.values())==2)
    if condition: 
        full_house ____
print("Probability of seeing a full house = {}".format(full_house/n_sims))
Redigera och kör kod