Les modules, Random
Les modules, Random
Le module random
En anglais “random” signifie “le hasard”. Ce module va nous permettre d'utiliser des fonctions générant des nombres aléatoires. Les deux qui me semblent le plus utile dans un premier temps sont : - random() qui renvoie un nombre aléatoire entre 0 et 1, - choice(liste) qui choisit au hasard un nombre dans une liste donnée.
>>> from random import *
>>> random()
0.34461947461259612
>>> random()
0.024762749258158245
>>> L = [7, 3, 8, 5, 6]
>>> choice(L)
5
>>> choice(L)
3
>>> # cela marche pour une liste de chaine de caractères
>>> liste = ['Pierre', 'Paul', 'Jacques']
>>> choice(liste)
'Jacques'
Pour aller plus loin
Comme dit plus haut, il y a différents types de modules :
- ceux qui sont inclus dans la version de Python comme random ou math,
- ceux que l'on peut rajouter comme numpy ou matplotlib,
- et ceux que l'on peut faire soi-même (il s'agit dans les cas simples d'un fichier Python contenant un ensemble de fonctions).
Mais pour importer un module, la façon de procéder reste la même, ou plutôt les mêmes car il y a deux façons de faire. Voyons cela en prenant comme exemple le module math.
>>> from math import sqrt
>>> sqrt(36)
6.0
>>> cos(0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'cos' is not defined
Le message d'erreur signifie simplement que l'on n'a pas importé la fonction cos. Donc si on recommence
>>> from math import sqrt, cos
>>> sqrt(36)
6.0
>>> cos(0)
1.0
Et si on veut que toutes les fonctions du module soient importées, on peut procéder comme on l'a fait plus haut en utilisant l'étoile *.
>>> from math import *
>>> sqrt(36)
6.0
>>> cos(0)
1.0
C'était la première façon de faire. Voici la deuxième façon de faire pour importer un module.
>>> import math
>>> math.sqrt(36)
6.0
>>> math.cos(0)
1.0
Bien que cette deuxième méthode paraisse plus lourde à écrire, elle peut avoir certains avantages.
Créé avec HelpNDoc Personal Edition: 5 raisons pour lesquelles un outil de création d'aide est meilleur que Microsoft Word pour la documentation