Utiliser le module random
Ce module présente l'importation de modules en Python et l'utilisation du module
random pour générer des nombres pseudo-aléatoires, choisir des éléments
au hasard ou mélanger une liste.
La fonction random() appartient au module random.
Pour utiliser les fonctions de ce module, il faut d'abord l'importer.
Cette méthode est la plus simple et la plus lisible. On utilise le nom du module, un point, puis le nom de la fonction.
Le module random contient plusieurs fonctions permettant de générer
des nombres pseudo-aléatoires ou de travailler aléatoirement avec des séquences.
random a été importé.
Renvoie un nombre décimal compris dans l'intervalle [0.0 ; 1.0[.
Renvoie un nombre entier aléatoire entre a et b.
Les deux bornes sont incluses.
Renvoie un nombre décimal aléatoire compris entre a et b.
Renvoie une valeur sélectionnée aléatoirement dans une plage similaire à range().
La borne stop n'est pas incluse.
Renvoie un élément aléatoire d'une séquence non vide.
Mélange directement les éléments d'une liste.
shuffle() ne crée pas une nouvelle liste : il modifie directement la liste existante.
Les nombres générés par random sont des nombres pseudo-aléatoires.
Cela signifie qu'ils sont produits par un algorithme, ce qui donne une impression
de hasard.
random n'est pas adapté aux usages nécessitant une sécurité élevée,
comme la cryptographie. Pour les activités courantes, il est largement suffisant.
| Fonction | Rôle |
|---|---|
random.random() |
nombre décimal entre 0.0 et 1.0 |
random.randint(a, b) |
entier entre a et b inclus |
random.choice(liste) |
élément aléatoire d'une liste |
random.shuffle(liste) |
mélange directement la liste |
random.uniform(a, b) |
nombre décimal entre a et b |
random.randrange(...) |
entier pris dans une plage |
randint(a, b) inclut la borne b,
alors que randrange(start, stop) n'inclut pas stop.
Voici les notions essentielles à retenir pour ce module.
random.randint(a, b) inclut les deux bornes.random.randrange(start, stop) n'inclut pas stop.random.shuffle() modifie directement la liste.random n'est pas adapté à la cryptographie.