Module random de Python
Python randomLe module est principalement utilisé pour générer des nombres aléatoires.
randomLe module implémente des générateurs de nombres pseudo-aléatoires pour diverses distributions.
Pour utiliserrandomla fonction doit d'abord être importée :
import random
Afficher le contenu du module random :
Exemples
>>> import random
>>> dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_Sequence', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_floor', '_inst', '_log', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
>>> dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_Sequence', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_floor', '_inst', '_log', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
Ensuite, nous utilisons la méthoderandom(), qui renvoie un nombre aléatoire compris dans l'intervalle semi-ouvert [0,1)intervalle, incluant 0 mais pas 1.
Exemples
# Importer le paquet random
import random
# Générer un nombre aléatoire
print(random.random())
import random
# Générer un nombre aléatoire
print(random.random())
La sortie de l'exemple ci-dessus est :
0.4784904215869241
seed()La méthode modifie la graine du générateur de nombres aléatoires, et vous pouvez appeler cette fonction avant d'appeler d'autres fonctions du module random.
Exemples
#!/usr/bin/python3
import random
random.seed()
print (Générer un nombre aléatoire en utilisant la graine par défaut :, random.random())
print (Générer un nombre aléatoire en utilisant la graine par défaut :, random.random())
random.seed(10)
print (Générer un nombre aléatoire en utilisant l'entier 10 comme graine :, random.random())
random.seed(10)
print (Générer un nombre aléatoire en utilisant l'entier 10 comme graine :, random.random())
random.seed("hello",2)
print (Générer un nombre aléatoire en utilisant une chaîne de caractères comme graine :, random.random())
import random
random.seed()
print (Générer un nombre aléatoire en utilisant la graine par défaut :, random.random())
print (Générer un nombre aléatoire en utilisant la graine par défaut :, random.random())
random.seed(10)
print (Générer un nombre aléatoire en utilisant l'entier 10 comme graine :, random.random())
random.seed(10)
print (Générer un nombre aléatoire en utilisant l'entier 10 comme graine :, random.random())
random.seed("hello",2)
print (Générer un nombre aléatoire en utilisant une chaîne de caractères comme graine :, random.random())
La sortie après avoir exécuté l'exemple ci-dessus est :
使用默认种子生成随机数: 0.7908102856355441 使用默认种子生成随机数: 0.81038961519195 使用整数 10 种子生成随机数: 0.5714025946899135 使用整数 10 种子生成随机数: 0.5714025946899135 使用字符串种子生成随机数: 0.3537754404730722
Méthodes du module random
Les méthodes du module random sont les suivantes :
| Méthode | Description |
|---|---|
| seed() | Initialise le générateur de nombres aléatoires |
| getstate() | Renvoie un objet capturant l'état interne actuel du générateur. |
| setstate() | l'état doit avoir été obtenu à partir d'un appel précédent à getstate(), et setstate() restaure l'état interne du générateur à ce qu'il était lors de l'appel à getstate(). |
| getrandbits(k) | Renvoie un entier Python non négatif avec k bits aléatoires. Cette méthode est fournie avec le générateur MersenneTwister, et certains autres générateurs peuvent également la fournir en tant que partie facultative de l'API. Lorsque c'est possible, getrandbits() permet à randrange() de gérer des plages arbitrairement grandes. |
| randrange() | Renvoie un élément sélectionné aléatoirement dans range(start, stop, step). |
| randint(a, b) | Renvoie un entier aléatoire N tel que a <= N <= b. |
| choice(seq) | Renvoie un élément aléatoire de la séquence non vide seq. Si seq est vide, lève IndexError. |
| choices(population, weights=None, *, cum_weights=None, k=1) | Renvoie une liste de k éléments choisis avec remise dans population. Si population est vide, lève IndexError. |
| shuffle(x[, random]) | Mélange aléatoirement la séquence x. |
| sample(population, k, *, counts=None) | Renvoie une liste de longueur k d'éléments uniques choisis dans la séquence ou l'ensemble population. Utilisé pour l'échantillonnage aléatoire sans remise. |
| random() | Renvoie le nombre à virgule flottante aléatoire suivant dans l'intervalle [0.0, 1.0). |
| uniform() | Renvoie un nombre à virgule flottante aléatoire N tel que a <= N <= b lorsque a <= b, et b <= N <= a lorsque b < a. |
| triangular(low, high, mode) | Renvoie un nombre à virgule flottante aléatoire N tel que low <= N <= high et avec un mode spécifié entre ces bornes. Les bornes low et high valent par défaut zéro et un. Le paramètre mode prend par défaut la valeur du point médian entre les bornes, ce qui donne une distribution symétrique. |
| betavariate(alpha, beta) | Distribution bêta. Les conditions sur les paramètres sont alpha > 0 et beta > 0. La valeur renvoyée est comprise entre 0 et 1. |
| expovariate(lambd) | Distribution exponentielle. lambd vaut 1.0 divisé par la moyenne souhaitée, et il doit être non nul. |
| gammavariate() | Distribution gamma (et non la fonction gamma). Les conditions sur les paramètres sont alpha > 0 et beta > 0. |
| gauss(mu, sigma) | Distribution normale, également appelée distribution gaussienne. mu est la moyenne, et sigma est l'écart type. Cette fonction est légèrement plus rapide que la fonction normalvariate() définie ci-dessous. |
| lognormvariate(mu, sigma) | Distribution log-normale. Si vous prenez le logarithme népérien de cette distribution, vous obtiendrez une distribution normale de moyenne mu et d'écart type sigma. mu peut prendre n'importe quelle valeur, et sigma doit être supérieur à zéro. |
| normalvariate(mu, sigma) | Distribution normale. mu est la moyenne, et sigma est l'écart type. |
| vonmisesvariate(mu, kappa) | Distribution de von Mises. mu est l'angle moyen, exprimé en radians, entre 0 et 2*pi, et kappa est le paramètre de concentration, qui doit être supérieur ou égal à zéro. Si kappa est zéro, cette distribution se réduit à un angle aléatoire uniforme sur l'intervalle de 0 à 2*pi. |
| paretovariate(alpha) | Distribution de Pareto. alpha est le paramètre de forme. |
| weibullvariate(alpha, beta) | Distribution de Weibull. alpha est le paramètre d'échelle, et beta est le paramètre de forme. |