IniziaInizia gratis

Gioco del tredici

Il famoso matematico francese Pierre Raymond De Montmart, noto per i suoi lavori in combinatoria, propose un semplice gioco chiamato Gioco del Tredici. Hai un mazzo di 13 carte, numerate da 1 a 13. Mescola il mazzo ed estrai le carte una alla volta. Si ha una coincidenza quando il numero sulla carta corrisponde alla posizione in cui viene estratta. Per esempio, se la quinta carta che estrai è un 5, è una coincidenza. Vinci la partita se arrivi in fondo a tutte le carte senza alcuna coincidenza. Calcoliamo la probabilità di vincita con una simulazione.

Completando questo esercizio, rafforzerai ulteriormente la tua capacità di tradurre problemi astratti in un framework di simulazione per stimare probabilità.

Questo esercizio fa parte del corso

Simulazione statistica in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Per ogni estrazione, pesca tutte le carte in deck senza reinserimento e assegna il risultato a draw.
  • Verifica se ci sono coincidenze nell'estrazione e, in tal caso, incrementa il contatore coincidences di 1.
  • Calcola la probabilità di vincita come frazione delle partite senza alcuna coincidenza e usa prob_of_winning per stampare i risultati.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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(____))
Modifica ed esegui il codice