Simulation en Python

Première générale Spé · Mathématiques Spé 1ère

À retenir

• `random()` renvoie un nombre décimal au hasard dans [0 ; 1[ ; `random() < p` vaut `True` avec la probabilité p. • `randint(a, b)` renvoie un entier au hasard entre a et b, bornes incluses. • Une boucle et un compteur donnent la fréquence d'un événement sur N simulations.

Le cours

### 1. Définition et cadre fondamental En Python, le module `random` permet de simuler des expériences aléatoires : - `random.random()` : renvoie un nombre flottant aléatoire dans l'intervalle [0 ; 1[. - `random.randint(a, b)` : renvoie un entier aléatoire entre a et b inclus (ex : `randint(1, 6)` pour un dé). - `random.choice(liste)` : choisit un élément au hasard dans une liste. **Simulation d'une épreuve de Bernoulli de paramètre p** : ```python import random def bernoulli(p): return 1 if random.random() < p else 0 ``` ### 2. Méthode : simuler une expérience aléatoire - **Choisir l'instruction** : `randint(1, 6)` pour un dé, `random() < p` pour un succès de probabilité p, `choice(liste)` pour un tirage dans une liste. - **Écrire une fonction** qui simule une seule expérience et renvoie son résultat (un nombre, ou `True` / `False`). - **Répéter** avec une boucle `for` et un compteur initialisé à 0 avant la boucle, puis diviser par le nombre de répétitions pour obtenir une fréquence. ### 3. Mini-exemple L'instruction `random() < 0.25` vaut `True` dans environ 25\,\% des cas : elle simule le tirage d'un Cœur dans un jeu de 32 cartes, de probabilité 8/32 = 0,25.

Dans ce chapitre