Aleatorio#
Introducción#
Random proporciona acceso al módulo random
de Python, disponible por defecto en VEXcode AIM. Estos métodos permiten generar números aleatorios, valores de punto flotante y valores a partir de listas o rangos, lo cual resulta útil para añadir imprevisibilidad a juegos, comportamientos y toma de decisiones autónoma.
A continuación se muestra una lista de los métodos disponibles:
randint – Returns a random integer between two values (inclusive).
uniform – Returns a random float between two values.
randrange – Returns a random integer from a range with an optional step.
random – Returns a random float between 0.0 (inclusive) and 1.0 (exclusive).
getrandbits – Returns an integer with a specified number of random bits.
choice – Returns a random element from a non-empty list or sequence.
Generadores de números#
randint#
randint
devuelve un entero aleatorio entre dos valores (inclusive), donde ambos valores son enteros.
Uso:
random.randint(a, b)
Parámetro |
Descripción |
---|---|
|
Un número entero que representa el límite inferior inclusivo del rango. |
|
Un número entero que representa el límite superior inclusivo del rango. |
# Generate a random integer between
# 1 and 10 (inclusive)
random_int = random.randint(1, 10)
robot.screen.print(random_int)
# random_int = (random integer between 1 and 10)
uniform#
uniform
devuelve un flotante aleatorio entre dos valores, donde ambos valores son flotantes o enteros.
Uso:
random.uniform(start, end)
Parámetro |
Descripción |
---|---|
|
Un flotante o entero que representa el límite inferior del rango. |
|
Un número flotante o entero que representa el límite superior del rango. |
# Generate a random float between 5.0 and 10.0
random_uniform = random.uniform(5.0, 10.0)
robot.screen.print(random_uniform)
# random_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 de fin son enteros.
Uso:
random.randrange(start, stop, step)
Parámetro |
Descripción |
---|---|
|
Opcional. Un entero que representa el valor inicial inclusivo del rango. El valor predeterminado es 0. |
|
Un número entero que representa el valor final exclusivo del rango. |
|
Opcional. Un entero que representa la diferencia entre cada número del rango. El valor predeterminado es 1. |
# Generate a random integer from
# 0 to 9 (exclusive of 10)
random_range = random.randrange(10)
robot.screen.print(random_range)
# random_range = (random integer from 0 to 9)
# Generate a random integer from
# 5 to 15 (exclusive of 15)
random_range = random.randrange(5, 15)
robot.screen.print(random_range)
# random_range = (random integer from 5 to 14)
# Generate a random integer from
# 10 to 50, stepping by 5
random_range = random.randrange(10, 50, 5)
robot.screen.print(random_range)
# random_range = (random multiple of 5 between 10 and 45)
random#
random
devuelve un flotante aleatorio entre 0,0 (inclusive) y 1,0 (exclusivo).
Uso:
random.random()
Parámetro |
Descripción |
---|---|
Este método no tiene parámetros. |
# Generate a random float between 0.0 and 1.0
random_float = random.random()
robot.screen.print(random_float)
# random_float = (random float between 0.0 and 1.0)
getrandbits#
getrandbits
devuelve un entero con una cantidad específica de bits aleatorios, donde la cantidad de bits es un entero entre 0 y 32.
Uso:
random.getrandbits(n)
Parámetro |
Descripción |
---|---|
|
Un número entero que representa la cantidad de bits aleatorios |
# Generate a random integer with 8 random bits
random_bits = random.getrandbits(8)
robot.screen.print(random_bits)
# random_bits = (random integer between 0 and 255)
Selección#
choice#
choice
devuelve un elemento aleatorio de una lista o secuencia no vacía.
Uso:
random.choice(sequence)
Parámetro |
Descripción |
---|---|
|
Una secuencia no vacía (lista, tupla u otro objeto indexable) de la que se selecciona un elemento aleatorio. |
# Choose a random number from a list
random_choice = random.choice([10, 20, 30, 40, 50])
robot.screen.print(random_choice)
# random_choice = (randomly chosen number from the list)