ComeçarComece de graça

Jogo dos treze

Um famoso matemático francês, Pierre Raymond De Montmart, conhecido por seu trabalho em combinatória, propôs um jogo simples chamado Jogo dos Treze. Você tem um baralho de 13 cartas, numeradas de 1 a 13. Embaralhe esse baralho e puxe as cartas uma a uma. Há uma coincidência quando o número da carta corresponde à ordem em que ela é puxada. Por exemplo, se a 5ª carta que você tirar for um 5, isso é uma coincidência. Você vence o jogo se passar por todas as cartas sem nenhuma coincidência. Vamos calcular a probabilidade de vencer esse jogo usando simulação.

Ao concluir este exercício, você vai reforçar sua habilidade de transformar problemas abstratos em um esquema de simulação para estimar probabilidades.

Este exercício faz parte do curso

Simulação Estatística em Python

Ver curso

Instruções do exercício

  • Em cada rodada, tire todas as cartas de deck sem reposição e atribua a draw.
  • Verifique se há alguma coincidência no sorteio e, se houver, incremente o contador coincidences em 1.
  • Calcule a probabilidade de vitória como a fração de jogos sem nenhuma coincidência e use prob_of_winning para imprimir seus resultados.

Exercício interativo prático

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

# Pre-set constant variables
deck, sims, coincidences = np.arange(1, 14), 10000, 0

for _ in range(sims):
    # Draw all the cards without replacement to simulate one game
    draw = np.random.choice(____, size=____, replace=____)
    # Check if there are any coincidences
    coincidence = (draw == list(np.arange(1, 14))).any()
    if coincidence == ____: 
        coincidences += 1

# Calculate probability of winning
prob_of_winning = ____
print("Probability of winning = {}".format(____))
Editar e executar o código