Aleatorio#
Introducción#
Random proporciona acceso al módulo random partir de listas o rangos, lo que resulta útil para añadir imprevisibilidad a juegos, comportamientos y toma de decisiones autónoma. Para empezar a usar estas funciones, añade import random al principio del proyecto.
A continuación se muestra una lista de los métodos disponibles:
Generadores de números: producen directamente números aleatorios o bits.
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.random– Devuelve un flotante aleatorio entre 0.0 (inclusive) y 1.0 (exclusivo).getrandbits– Devuelve un número entero con un número específico de bits aleatorios.
Selección: elija aleatoriamente elementos de las secuencias.
choice– Devuelve un elemento aleatorio de una lista o secuencia no vacía.
Control de estado: administra o inicializa el estado del generador de números aleatorios.
seed– Establece la semilla para que el generador de números aleatorios produzca resultados deterministas.
Generadores de números#
randint#
randint devuelve un entero aleatorio en el rango a (inclusive) a b (inclusive).
Usage:
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. |
# Pick a number from 0 to 100
random_int = random.randint(0, 100)
controller.screen.print(random_int)
#random_int = (random integer between 0-100)
uniform#
uniform devuelve una flotación aleatoria entre el start y el end.
Usage:
random.uniform(start, end)
Parámetro |
Descripción |
|---|---|
|
Un flotador o número entero que representa el límite inferior del rango. |
|
Un flotador o número 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)
controller.screen.print(random_uniform)
# random_uniform = (random float between 5.0 and 10.0)
randrange#
randrange devuelve un entero aleatorio del rango especificado.
Usage:
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 entero que representa el valor final exclusivo del rango. |
|
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)
random_range = random.randrange(10)
controller.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)
controller.screen.print(random_range)
# random_range = (random integer from 5 to 14)
random#
random devuelve un flotante aleatorio en el rango de 0.0 (inclusive) a 1.0 (exclusivo).
Usage:
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()
controller.screen.print(random_float)
# random_float = (random float between 0.0 and 1.0)
getrandbits#
getrandbits devuelve un entero con un número especificado de bits aleatorios.
Usage:
random.getrandbits(n)
Parámetro |
Descripción |
|---|---|
|
Un número entero que representa el número de bits aleatorios |
# Generate a random integer with 8 random bits
random_bits = random.getrandbits(8)
controller.screen.print(random_bits)
# random_bits = (random integer between 0 and 255)
Selección#
choice#
choice elige y devuelve un elemento al azar de una secuencia.
Usage:
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])
controller.screen.print(random_choice)
# random_choice = (randomly chosen number from the list)
Control estatal#
seed#
seed inicializa el generador de números aleatorios, estableciendo su estado para que los resultados aleatorios puedan ser reproducidos.
Usage:
random.seed(a=None)
Parámetro |
Descripción |
|---|---|
|
Opcional. El valor semilla. Puede ser un int, float, str, bytes o bytearray. Si |
random.seed(42)
# Always return the same results
print(random.randint(1, 10))
print(random.random())