2ndeArithmétique

Simuler des phénomènes aléatoires en Python

17 min5 exercicesSéquence 4.42nde

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


FonctionRenvoieExemple
|---|---|---|


random.random()un décimal aléatoire dans [0 ; 1[[0\ ;\ 1[0.7234...
random.randint(a, b)un entier aléatoire entre a et b inclusrandom.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 nn est grand, plus la fréquence observée se rapproche de la probabilité théorique (ici 160,1667\dfrac{1}{6}\approx0{,}1667).

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é 12\dfrac{1}{2}.

📘 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 11 ou 22 avec un dé équilibré est 26=130,333\dfrac{2}{6}=\dfrac{1}{3}\approx0{,}333. Avec n=5000n=5000 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 [0 ; 1[[0\ ;\ 1[.
- 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 nn 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.

Se connecter