Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Module « random » Python 3.11.3

Fonction seed - module random

Signature de la fonction seed

 def seed(a=None, version=2) -> None

Description

Initialise le générateur de nombres aléatoires avec une graine. La fonction seed() du module random de Python initialise le générateur de nombres aléatoires avec une valeur de départ (la graine), permettant de reproduire une séquence de nombres aléatoires.

initialement, le générateur est initialisé avec le temps courant du système d'exploitation.
la version 3.2 ajoute la version 2 qui utilise tous les bits de la graine (quel que soit le type de cette dernière).
la version 3.11 étend la liste des types supportés (int|float|str|bytes|bytearray|NoneType) pour la graine.

help(random.seed)

Initialize internal state from a seed.

        The only supported seed types are None, int, float,
        str, bytes, and bytearray.

        None or no argument seeds from current time or from an operating
        system specific randomness source if available.

        If *a* is an int, all bits are used.

        For version 2 (the default), all of the bits are used if *a* is a str,
        bytes, or bytearray.  For version 1 (provided for reproducing random
        sequences from older versions of Python), the algorithm for str and
        bytes generates a narrower range of seeds.

        

Paramètres

ParamètreDescription
 a : int|float|str|bytes|bytearray|NoneType 
La valeur de la graine, facultative. Si non fournie, le générateur utilise l'horodatage actuel ou le système d'exploitation pour obtenir une graine.
 version : int = 2 
La version de l'algorithme à utiliser. La valeur par défaut est 2. Pour utiliser l'ancienne version (Python 2.3), utilisez la valeur 1.

Valeur de retour

Cette méthode ne renvoie aucune valeur.

Exception

Exemple(s) de code

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
#!/usr/bin/python
import random

# Pas de graine (seed) : on est basé sur le temps système
random_value1 = random.random()
random_value2 = random.random()
random_value3 = random.random()

# Graine initialisée à 42
random.seed(42)
random_value1_bis = random.random()
random_value2_bis = random.random()
random_value3_bis = random.random()

# Graine, de nouveau, initialisée à 42 => on recommence la séquence
random.seed(42)
random_value1_tri = random.random()
random_value2_tri = random.random()
random_value3_tri = random.random()

print("Première séquence :", random_value1, random_value2, random_value3)
print("Deuxième séquence :", random_value1_bis, random_value2_bis, random_value3_bis)
print("Troisème séquence :", random_value1_tri, random_value2_tri, random_value3_tri)
Exemple d'utilisation de la fonction seed.

Et voici les résultats produits par cet exemple.

$> python sample.py
Première séquence : 0.04809109929788591 0.718132472277087 0.3420586189209237
Deuxième séquence : 0.6394267984578837 0.025010755222666936 0.27502931836911926
Troisème séquence : 0.6394267984578837 0.025010755222666936 0.27502931836911926
$> 

Voir aussi

Module random
Fonction randint
Fonction random
Fonction randrange
Fonction uniform