Le module random

Chaque distribution Python est livrée avec un nombre considérable de modules qui augmentent la portée du langage.

On a déjà parlé des modules math et cmath. On évoquera dans les pages suivantes une petite partie des fonctions et des modules qu’il nous semble utile de connaître.

La documentation de référence se trouve ici : http://docs.python.org/3.3/library/index.html

Toujours pour obtenir de l’aide, une autre possibilité consiste à taper help(’modules’) dans IDLE (pour avoir la liste des modules disponibles), ou help(’random’) si on veut de l’aide, par exemple, sur le module random.

Adresse : http://docs.python.org/3.3/library/random

Utilité : génération de valeurs pseudo-aléatoires

Syntaxe : import random, ou from random import *, ou from random import sample, etc.

Quelques fonctions utiles :

seed(n)
seed()
réinitialise le générateur de nombres aléatoires en utilisant l’entier n.
idem mais en utilisant l’horloge du système.
randrange(a,b,h)
randrange(b)
randint(a,b)
un entier aléatoire de [a, b[, avec le pas h (par défaut h = 1).
un entier aléatoire de [0, b[.
un entier aléatoire de [a, b], donc synonyme de randrange(a,b+1)
choice(seq) un élément au hasard dans la séquence (non vide) seq
shuffle(seq) “rebat” aléatoirement la séquence (non vide) seq (opère sur place)
sample(pop,k) liste de k éléments distincts de pop (ensemble ou séquence)
random() le prochain réel pseudo-aléatoire dans [0, 1[
uniform(a,b) un réel pseudo-aléatoire dans [a, b]
gauss(m,σ) réel pseudo-aléatoire, distribution gaussienne, moyenne m, écart-type σ

Voici quelques exemples :

Retour à l’accueil du cours Python/Numpy

Sommaire du chapitre 7

  1. Le module random
  2. Le module decimal
  3. Le module fractions
  4. Le module string
  5. Le module itertools
  6. Les modules operator et functools
  7. Le module time
  8. La classe Counter du module collections
  9. La classe deque du module collections
  10. Le module heapq
  11. Le module bisect
  12. Le module copy
  13. Autres modules et adresses utiles