Aan de slagGa gratis aan de slag

Pair (twee dezelfde)

Laten we nu simulaties gebruiken om kansen te schatten. Stel, je bent uitgenodigd voor een potje poker bij een vriend. In deze variant krijg je vijf kaarten en wint de speler met de beste hand. Je gebruikt een simulatie om de kans op bepaalde handen te schatten. We beginnen met de kans op minstens een pair (twee dezelfde). Dat betekent twee kaarten van verschillende kleur/soort met dezelfde numerieke waarde (bijv. 2 harten, 2 schoppen en 3 andere kaarten).

Aan het einde van deze oefening weet je hoe je simulaties inzet om kansen voor kaartspellen te berekenen.

Deze oefening maakt deel uit van de cursus

Statisticale simulatie in Python

Cursus bekijken

Oefeninstructies

  • Deel de hand: Schud deck_of_cards in de for-lus. Selecteer daarna de eerste 5 kaarten als je hand.
  • Tel numerieke waarden: Gebruik de methode get() om de dictionary cards_in_hand op te bouwen, die het aantal voorkomen van elke numeric_value in hand telt.
  • Pair (twee dezelfde)? Controleer of de grootste waarde in cards_in_hand gelijk is aan of groter is dan 2 om te zien of we minstens een pair hebben. Zo ja, verhoog two_kind.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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))
Code bewerken en uitvoeren