ComenzarEmpieza gratis

Full house

Volvamos a nuestro juego de póker. La vez anterior calculamos la probabilidad de obtener al menos una pareja. Esta vez nos interesa un full house. Un full house es cuando obtienes dos cartas de un mismo valor numérico y tres cartas de otro valor numérico (p. ej., 2 de corazones y picas, y jotas de tréboles, diamantes y picas). En este ejercicio no distinguimos palos: solo importa el valor numérico.

Así, un full house es la probabilidad de obtener exactamente un trío condicionado a obtener exactamente una pareja de otro valor. Usando el mismo código que antes, modifica la condición de éxito para obtener el resultado deseado. Este ejercicio te enseñará a estimar probabilidades condicionadas en juegos de cartas y te ayudará a crear una base sólida para plantear problemas abstractos en simulaciones.

Este ejercicio forma parte del curso

Simulación estadística en Python

Ver curso

Instrucciones del ejercicio

  • Baraja deck_of_cards.
  • Usa un diccionario con .get() para contar el número de apariciones de cada carta en la mano.
  • Incrementa el contador full_house cuando haya un full house en la mano (2 de un valor, 3 de otro).

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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))
Editar y ejecutar código