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

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.

# 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

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
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

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)
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

n

Un número entero que representa el número de bits aleatorios (0 <= n <= 32).

# 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

sequence

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

a

Opcional. El valor semilla. Puede ser un int, float, str, bytes o bytearray. Si None (predeterminado), se utiliza la hora actual del sistema.

random.seed(42)

# Always return the same results
print(random.randint(1, 10))
print(random.random())