ComenzarEmpieza gratis

Juego de trece

El famoso matemático francés Pierre Raymond De Montmart, conocido por su trabajo en combinatoria, propuso un juego sencillo llamado Juego de Trece. Tienes una baraja de 13 cartas, numeradas del 1 al 13. Baraja esta baraja y roba cartas una a una. Hay una coincidencia cuando el número de la carta coincide con el orden en el que se roba. Por ejemplo, si la quinta carta que robas resulta ser un 5, hay una coincidencia. Ganarás el juego si pasas por todas las cartas sin ninguna coincidencia. Vamos a calcular la probabilidad de ganar a este juego mediante simulación.

Al completar este ejercicio, reforzarás tu capacidad para llevar problemas abstractos al marco de simulación para estimar probabilidades.

Este ejercicio forma parte del curso

Simulación estadística en Python

Ver curso

Instrucciones del ejercicio

  • En cada partida, roba todas las cartas de deck sin reemplazo y asígnalas a draw.
  • Comprueba si hay alguna coincidencia en el robo y, si la hay, incrementa el contador coincidences en 1.
  • Calcula la probabilidad de ganar como la fracción de partidas sin ninguna coincidencia y usa prob_of_winning para imprimir tus resultados.

Ejercicio interactivo práctico

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

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