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 o bits aleatorios.
randint– Devuelve un entero aleatorio entre dos valores (inclusive).uniform– Devuelve un número flotante aleatorio entre dos valores.randrange– Devuelve un entero aleatorio de un rango con un paso opcional.random– Devuelve un número flotante aleatorio entre 0,0 (inclusive) y 1,0 (exclusivo).getrandbits– Devuelve un entero con un número especificado de bits aleatorios.
Selección: elige elementos al azar de las secuencias.
choice– Devuelve un elemento aleatorio de una lista o secuencia no vacía.
Control de estado: administre o inicialice 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 un número flotante aleatorio entre start y end.
Usage:
random.uniform(start, end)
Parámetro |
Descripción |
|---|---|
|
Un flotante o entero que representa el límite inferior del rango. |
|
Un 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)
controller.screen.print(random_uniform)
# random_uniform = (random float between 5.0 and 10.0)
randrange#
randrange devuelve un número 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 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)
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 número 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 la cantidad 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#
El comando seed inicializa el generador de números aleatorios, estableciendo su estado para que se puedan reproducir resultados aleatorios.
Usage:
random.seed(a=None)
Parámetro |
Descripción |
|---|---|
|
Opcional. El valor semilla. Puede ser un entero, flotante, cadena, bytes o matriz de bytes. Si es |
random.seed(42)
# Always return the same results
print(random.randint(1, 10))
print(random.random())