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 deurandom.
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 |
|---|---|
|
Un entier représentant la borne inférieure inclusive de l’intervalle. |
|
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 |
|---|---|
|
Un nombre flottant ou un entier représentant la limite inférieure de l’intervalle. |
|
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 |
|---|---|
|
Facultatif. Un entier représentant la valeur de début inclusive de la plage. La valeur par défaut est 0. |
|
Un entier représentant la valeur finale exclusive de la plage. |
|
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 |
|---|---|
|
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()))