Aléatoire#

Introduction#

La fonction random donne accès au module urandom de Python, disponible par défaut dans VEXcode. Ses méthodes permettent de générer des nombres aléatoires, des nombres à virgule flottante et des valeurs à partir de listes ou d’intervalles ; elles sont utiles pour introduire de l’imprévisibilité dans les jeux, les comportements et la prise de décision autonome.

Vous trouverez ci-dessous une liste des méthodes disponibles :

  • randint – Renvoie un entier aléatoire entre deux valeurs (incluses).

  • uniform – Renvoie un nombre flottant aléatoire entre deux valeurs.

  • randrange – Renvoie un entier aléatoire à partir d’une plage avec un pas optionnel.

  • seed – définit la valeur de départ du générateur de nombres pseudo-aléatoires de urandom.

randint#

randint renvoie un entier aléatoire compris entre deux valeurs (incluses), où les deux valeurs sont des entiers.

Usage:
urandom.randint(a, b)

Paramètre

Description

a

Un entier représentant la borne inférieure inclusive de l’intervalle.

b

Un entier représentant la limite supérieure inclusive de l’intervalle.

# Generate a random integer between
# 1 and 10 (inclusive)
urandom_int = urandom.randint(1, 10)
brain.print(urandom_int)

# urandom_int = (random integer between 1 and 10)

uniforme#

uniform renvoie un nombre flottant aléatoire compris entre deux valeurs, où les deux valeurs sont des nombres flottants ou des entiers.

Usage:
urandom.uniform(start, end)

Paramètre

Description

start

Un nombre flottant ou un entier représentant la limite inférieure de l’intervalle.

end

Un nombre flottant ou un entier représentant la limite supérieure de l’intervalle.

# Generate a random float 
# between 5.0 and 10.0
urandom_uniform = urandom.uniform(5.0, 10.0)
brain.print(urandom_uniform)

# urandom_uniform = (random float 
# between 5.0 and 10.0)

plage aléatoire#

randrange renvoie un entier aléatoire dans une plage avec un pas optionnel, où les valeurs de début et de fin sont toutes deux des entiers.

Usage:
urandom.randrange(start, stop, step)

Paramètre

Description

start

Facultatif. Un entier représentant la valeur de début inclusive de la plage. La valeur par défaut est 0.

stop

Un entier représentant la valeur finale exclusive de la plage.

step

Facultatif. Un entier représentant la différence entre chaque nombre de l’intervalle. La valeur par défaut est 1.

# Generate a random integer from
# 0 to 9 (exclusive of 10)
urandom_range = urandom.randrange(10)
brain.print(urandom_range)

# urandom_range = (random integer from 0 to 9)

# Generate a random integer from
# 5 to 15 (exclusive of 15)
urandom_range = urandom.randrange(5, 15)
brain.print(urandom_range)

# urandom_range = (random integer from 5 to 14)

# Generate a random integer from
# 10 to 50, stepping by 5
urandom_range = urandom.randrange(10, 50, 5)
brain.print(urandom_range)

# urandom_range = (random multiple of 5 between 10 and 45)

graine#

seed définit la valeur de départ pour urandom”s générateur de nombres pseudo-aléatoires.

Si vous ne définissez pas de graine, votre projet risque de produire la même séquence aléatoire à chaque démarrage.

Pour obtenir des résultats différents à chaque exécution, définissez la valeur initiale une seule fois au début du projet en utilisant une valeur qui change d’une exécution à l’autre, comme par exemple les relevés de batterie, une valeur de minuterie ou une combinaison des deux.

Usage:
urandom.seed(seed)

Paramètre

Description

seed

Un entier utilisé pour démarrer la séquence pseudo-aléatoire.

# Set a different seed each time the project starts
urandom.seed(int(brain.battery.current()))