CommencezCommencez gratuitement

Main pleine (full house)

Revenons à notre jeu de poker. La fois précédente, nous avons calculé la probabilité d'obtenir au moins une paire. Cette fois, nous nous intéressons à une main pleine (full house). Une main pleine correspond à deux cartes de mêmes valeurs numériques et trois autres cartes d'une autre valeur numérique (p. ex., deux 2 et trois valets), peu importe les enseignes.

Ainsi, une main pleine correspond à la probabilité d'obtenir exactement un brelan, conditionnellement au fait d'obtenir exactement une paire d'une autre valeur. En vous appuyant sur le même code que précédemment, modifiez la condition de succès pour obtenir le résultat souhaité. Cet exercice vous apprendra à estimer des probabilités conditionnelles dans des jeux de cartes et vous aidera à développer votre manière d'aborder des problèmes abstraits en vue d'une simulation.

Cette activité fait partie du cours

Simulation statistique en Python

Voir le cours

Instructions de l’exercice

  • Brassez deck_of_cards.
  • Utilisez un dictionnaire avec .get() pour compter le nombre d'occurrences de chaque carte dans la main.
  • Incrémentez le compteur full_house lorsqu'il y a une main pleine (2 cartes d'une valeur, 3 cartes d'une autre).

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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))
Modifier et exécuter le code