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.
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.
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)Random Integer (1-10): 2
Random Float (0-1): 0.025
Random Choice: bananaImplementació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
Aprenda a encontrar la longitud de una lista en Python usando la función len(). Comprender la complejidad del tiempo O(1) y los recuentos de comprobación.
Cómo utilizar Enumerar en PythonAprenda a utilizar la función enumerate() en Python. Obtenga tanto el índice como el valor al recorrer listas con ejemplos limpios.
Recursos recomendados de Python
Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.
Bucles de Python
Aprenda a utilizar bucles de Python para iterar sobre datos. Domine los bucles for, while, rompa, continúe y realice bucles con ejemplos interactivos.
Hoja de trucos sobre métodos de cadenas de Python
Una guía de referencia completa para la manipulación de cadenas de Python. Domine el formateo, la búsqueda, la división, el reemplazo y la verificación de las propiedades de las cadenas.
Python vs JavaScript: ¿Qué lenguaje de programación es mejor?
Una comparación completa entre Python y JavaScript. Explore las diferencias de sintaxis, el rendimiento, los casos de uso (backend frente a frontend) y ejemplos de codificación.