ComeçarComece de graça

Full house

Vamos voltar ao nosso jogo de pôquer. Da última vez, calculamos a probabilidade de obter pelo menos um par. Agora, estamos interessados em um full house. Um full house ocorre quando você recebe duas cartas de naipes diferentes com o mesmo valor numérico e outras três cartas que também compartilham o mesmo valor numérico (por exemplo, 2 de copas e espadas, e valetes de paus, ouros e espadas).

Assim, um full house é a probabilidade de obter exatamente uma trinca condicionada a obter exatamente um par de outro valor. Usando o mesmo código de antes, modifique a condição de sucesso para obter o resultado desejado. Este exercício vai ensinar você a estimar probabilidades condicionais em jogos de cartas e criar sua base para formular problemas abstratos para simulação.

Este exercício faz parte do curso

Simulação Estatística em Python

Ver curso

Instruções do exercício

  • Embaralhe deck_of_cards.
  • Use um dicionário com .get() para contar o número de ocorrências de cada carta na mão.
  • Incremente o contador full_house quando houver um full house na mão (2 de um valor e 3 de outro).

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código