Cómo generar números aleatorios en Python (módulo aleatorio)

Aprenda a generar números aleatorios en Python. Compare la generación de randrange, randint y flotación uniforme con el control de siembra.

Pruebe esta solución en el Editor

Descripción general

Generar números aleatorios es un requisito clave en la programación de juegos, la selección de elementos aleatorios de conjuntos de datos, la escritura de aplicaciones de criptografía y la realización de simulaciones estadísticas. Python proporciona una biblioteca integrada dedicada llamada "aleatoria" para manejar la generación de números pseudoaleatorios.

Si necesita un número entero aleatorio dentro de un rango específico, la función `random.randint(a, b)` es la herramienta más común, que devuelve un número entero aleatorio donde ambos puntos finales son inclusivos. Alternativamente, `random.random()` genera un número de punto flotante entre 0.0 (inclusive) y 1.0 (exclusivo), que se puede escalar matemáticamente para ajustarse a límites personalizados.

Para que las simulaciones y pruebas sean repetibles, puede utilizar la función `random.seed()`. Proporcionar un número entero inicial garantiza que la secuencia de números generados será idéntica cada vez que se ejecute el código. Para operaciones criptográficas que requieren alta seguridad (como la generación de tokens), se deben evitar los generadores pseudoaleatorios estándar en favor del módulo "secretos".

Código y salida de ejecución

Este script demuestra la generación de números enteros aleatorios, flotantes y la selección de elementos con el módulo aleatorio.

random_numbers.py
Pruébelo en el editor
import random

# Setting a seed for deterministic output in this example
random.seed(42)

# 1. Generate a random integer between 1 and 10 (inclusive)
random_int = random.randint(1, 10)
print("Random Integer (1-10):", random_int)

# 2. Generate a random float between 0.0 and 1.0
random_float = random.random()
print("Random Float (0-1):", round(random_float, 4))

# 3. Select a random element from a list
fruits = ["apple", "banana", "cherry"]
random_choice = random.choice(fruits)
print("Random Choice:", random_choice)
Salida terminal
Random Integer (1-10): 2
Random Float (0-1): 0.025
Random Choice: banana

Implementación paso a paso

  • Importe el módulo aleatorio al comienzo de su secuencia de comandos.
  • Utilice random.randint(min, max) para generar un número entero aleatorio donde ambos puntos finales sean inclusivos.
  • Utilice random.random() para generar un valor flotante aleatorio entre 0,0 y 1,0.

Preguntas frecuentes

¿Cómo genero un flotador aleatorio dentro de un rango personalizado?

Utilice random.uniform(a, b) para obtener un número aleatorio de punto flotante entre a y b.

¿El módulo aleatorio es seguro para uso criptográfico?

No, el módulo aleatorio es pseudoaleatorio y no debe utilizarse con fines relacionados con la seguridad. Utilice el módulo de secretos en su lugar.

Temas relacionados

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.