Full house
Revenons à notre partie de poker. La dernière fois, nous avons calculé la probabilité d’obtenir au moins une paire. Cette fois, nous nous intéressons à un full house. Un full house correspond à deux cartes de même valeur numérique et de couleurs différentes, et trois autres cartes d’une autre valeur numérique identique (par exemple, 2 de cœur et de pique, et trois valets de trèfle, de carreau et de pique).
Ainsi, on cherche la probabilité d’obtenir exactement un brelan sachant que l’on a 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 apprend à estimer des probabilités conditionnelles dans les jeux de cartes et à poser des problèmes abstraits pour la simulation.
Cet exercice fait partie du cours
Simulation statistique en Python
Instructions
- Mélangez
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_houselorsqu’il y a un full house dans la main (2 d’une valeur, 3 d’une autre).
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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))