Aleatorio#

Introducción#

Random proporciona acceso al módulo urandom de Python, que está disponible de forma predeterminada en VEXcode EXP. Estos métodos te permiten generar números aleatorios, flotantes y valores a partir de listas o rangos, útiles para agregar imprevisibilidad a los juegos, los comportamientos y la toma de decisiones autónoma.

A continuación se muestra una lista de los métodos disponibles:

  • randint – Devuelve un entero aleatorio entre dos valores (inclusive).

  • uniform – Devuelve un flotador aleatorio entre dos valores.

  • randrange – Devuelve un entero aleatorio de un rango con un paso opcional.

  • seed – establece el valor inicial para el generador denúmeros pseudoaleatorios de urandom.

randint#

randint devuelve un entero aleatorio entre dos valores (inclusive), donde ambos valores son enteros.

Usage:
urandom.randint(a, b)

Parámetro

Descripción

a

Un número entero que representa el límite inferior inclusivo del rango.

b

Un número entero que representa el límite superior inclusivo del rango.

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

# urandom_int = (random integer between 1 and 10)

uniforme#

uniform devuelve un flotador aleatorio entre dos valores, donde ambos valores son flotadores o enteros.

Usage:
urandom.uniform(start, end)

Parámetro

Descripción

start

Un flotador o número entero que representa el límite inferior del rango.

end

Un flotador o número entero que representa el límite superior del rango.

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

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

randrange#

randrange devuelve un entero aleatorio de un rango con un paso opcional, donde los valores de inicio y parada son enteros.

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

Parámetro

Descripción

start

Opcional. Un entero que representa el valor inicial inclusivo del rango. El valor predeterminado es 0.

stop

Un entero que representa el valor final exclusivo del rango.

step

Opcional. Un entero que representa la diferencia entre cada número en el rango. El valor predeterminado es 1.

# Generate a random integer from
# 0 to 9 (exclusive of 10)
urandom_range = urandom.randrange(10)
brain.screen.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.screen.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.screen.print(urandom_range)

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

semilla#

seed establece el valor inicial para el generador de números pseudoaleatorios de urandom.

Si no estableces una semilla, tu proyecto puede producir la misma secuencia aleatoria cada vez que comience.

Para obtener resultados diferentes en cada ejecución, configure la semilla una vez al comienzo del proyecto utilizando un valor que cambie entre ejecuciones, como las lecturas de la batería, un valor del temporizador o una combinación de ambos.

Usage:
urandom.seed(seed)

Parámetro

Descripción

seed

Un número entero utilizado para iniciar la secuencia pseudoaleatoria.

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