informatique (tronc commun des prépas scientifiques) · Chapitre 4 · Application directe du cours
Simuler pour vérifier
Modules, fichiers et données · niveau 1 (application)
Énoncé
Estimer par simulation de Monte-Carlo la probabilité d'obtenir au moins un chiffre 6 en lançant 4 dés à six faces (le pari du chevalier de Méré), sur 100 000 expériences. Comparer à la probabilité théorique .
Corrigé
import random
random.seed(0) # Pour garantir la reproductibilité du test
def au_moins_un_six() -> bool:
for _ in range(4):
if random.randint(1, 6) == 6:
return True
return False
n = 100_000
succes = sum(1 for _ in range(n) if au_moins_un_six())
frequence = succes / n
exacte = 1 - (5 / 6) ** 4 # ~0.5177
print(frequence, exacte)
assert abs(frequence - exacte) < 0.01