Simuler des phénomènes aléatoires en Python
Vidéo disponible dans la version Premium
Durée : 17 min
Le module random
Pour simuler le hasard en Python, on utilise le module random, qu'il faut importer en début de programme :
`python
import random`
Deux fonctions essentielles
| Fonction | Renvoie | Exemple |
random.random() | un décimal aléatoire dans | 0.7234... |
random.randint(a, b) | un entier aléatoire entre a et b inclus | random.randint(1, 6) |
Simuler un lancer de pièce
`python
import random
resultat = random.randint(0, 1)
if resultat == 0:
print("Pile")
else:
print("Face")`
Simuler un lancer de dé
`python
import random
de = random.randint(1, 6)
print("Le dé affiche", de)`
Répéter une simulation avec une boucle
Pour étudier la fréquence d'un événement, on répète l'expérience un grand nombre de fois à l'aide d'une boucle, en comptant les occurrences favorables.
`python
import random
compteur = 0
n = 1000
for i in range(n):
de = random.randint(1, 6)
if de == 6:
compteur = compteur + 1
frequence = compteur / n
print("Fréquence du 6 :", frequence)`
Rappel (loi des grands nombres) : plus le nombre de répétitions est grand, plus la fréquence observée se rapproche de la probabilité théorique (ici ).
Exemples
✅ Exemple simple — Simuler un tirage à pile ou face
`python
import random
piece = random.randint(0, 1)
print(piece)`
Ce programme affiche 0 ou 1 au hasard, chacun avec une probabilité .
📘 Exemple intermédiaire — Compter les « Face » sur 10 lancers
`python
import random
compteur = 0
for i in range(10):
piece = random.randint(0, 1)
if piece == 1:
compteur = compteur + 1
print("Nombre de Face :", compteur)`
À chaque tour de boucle, on simule un lancer et on incrémente compteur si on obtient 1 (« Face »).
🔴 Exemple avancé — Estimer une probabilité par simulation
`python
import random
compteur = 0
n = 5000
for i in range(n):
de = random.randint(1, 6)
if de == 1 or de == 2:
compteur = compteur + 1
frequence = compteur / n
print("Fréquence d'obtenir 1 ou 2 :", frequence)`
La probabilité théorique d'obtenir ou avec un dé équilibré est . Avec répétitions, la fréquence observée doit s'en approcher.
À retenir
- import random permet d'utiliser des fonctions de tirage aléatoire.
- random.randint(a, b) renvoie un entier aléatoire entre a et b inclus ; random.random() renvoie un décimal dans .
- Pour estimer une probabilité, on répète une simulation dans une boucle for en comptant les occurrences favorables, puis on divise par le nombre total de répétitions.
- D'après la loi des grands nombres, la fréquence observée se rapproche de la probabilité théorique quand augmente.
Exercices
Quelle instruction permet de simuler le lancer d'un dé à 6 faces en Python ?
random.random() renvoie toujours un nombre entier.
Suivez votre progression
Connectez-vous pour sauvegarder votre avancement et gagner des XP.