ÎncepețiÎncepe gratuit

Jocul celor treisprezece

Pierre Raymond De Montmart, un renumit matematician francez cunoscut pentru contribuțiile sale în combinatorică, a propus un joc simplu numit Jocul celor treisprezece. Ai un pachet de 13 cărți, numerotate de la 1 la 13. Amestecă pachetul și trage câte o carte pe rând. O coincidență apare atunci când numărul de pe carte se potrivește cu ordinea în care a fost trasă. De exemplu, dacă a cincea carte trasă este chiar numărul 5, aceasta este o coincidență. Câștigi jocul dacă treci prin toate cărțile fără nicio coincidență. Să calculăm probabilitatea de a câștiga folosind simularea.

Prin rezolvarea acestui exercițiu, îți vei consolida și mai mult capacitatea de a transforma probleme abstracte într-un cadru de simulare pentru estimarea probabilităților.

Acest exercițiu face parte din cursul

Simulare statistică în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Pentru fiecare tragere, extrage toate cărțile din deck fără înlocuire și atribuie rezultatul variabilei draw.
  • Verifică dacă există coincidențe în tragere și, dacă există, incrementează contorul coincidences cu 1.
  • Calculează probabilitatea de a câștiga ca fracție din jocurile fără nicio coincidență și folosește prob_of_winning pentru a afișa rezultatele.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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(____))
Editează și rulează codul