Volver a la página principal
miércoles 21 agosto 2024
22

Cómo generar números aleatorios en Python

Generar números aleatorios es una tarea común en programación, especialmente en simulaciones, juegos y pruebas estadísticas. Python facilita esta tarea mediante la biblioteca estándar random, que ofrece una variedad de funciones para generar diferentes tipos de números aleatorios.

Importar la biblioteca random

Para generar números aleatorios en Python, primero debes importar la biblioteca random, que está incluida en la biblioteca estándar de Python.

import random

Generar un número entero aleatorio

Para generar un número entero aleatorio dentro de un rango específico, utiliza la función randint() de la biblioteca random.

Ejemplo:

import random

numero_aleatorio = random.randint(1, 10)
print(numero_aleatorio)

Explicación:

  • random.randint(1, 10) genera un número entero aleatorio entre 1 y 10, incluyendo ambos límites.

Generar un número flotante aleatorio

Si necesitas un número aleatorio con decimales (flotante), puedes usar la función random.uniform(). Esta función te permite especificar el rango dentro del cual deseas generar el número flotante.

Ejemplo:

import random

numero_flotante_aleatorio = random.uniform(1.5, 5.5)
print(numero_flotante_aleatorio)

Explicación:

  • random.uniform(1.5, 5.5) genera un número flotante aleatorio entre 1.5 y 5.5.

Generar un número aleatorio entre 0 y 1

La función random.random() genera un número flotante aleatorio entre 0 y 1.

Ejemplo:

import random

numero_aleatorio = random.random()
print(numero_aleatorio)

Explicación:

  • random.random() devuelve un número flotante aleatorio entre 0.0 y 1.0.

Generar un número aleatorio en una distribución normal

Si necesitas un número aleatorio que siga una distribución normal (gaussiana), puedes usar la función random.gauss().

Ejemplo:

import random

numero_normal = random.gauss(0, 1)
print(numero_normal)

Explicación:

  • random.gauss(0, 1) genera un número aleatorio con una media de 0 y una desviación estándar de 1.

Seleccionar un elemento aleatorio de una lista

Si tienes una lista y quieres seleccionar un elemento aleatorio de ella, puedes usar la función random.choice().

Ejemplo:

import random

colores = ['rojo', 'azul', 'verde', 'amarillo']
color_aleatorio = random.choice(colores)
print(color_aleatorio)

Explicación:

  • random.choice(colores) selecciona y devuelve un elemento aleatorio de la lista colores.

Generar una lista de números aleatorios

Puedes generar una lista de números aleatorios utilizando una comprensión de listas junto con random.randint() o random.uniform().

Ejemplo:

import random

lista_numeros = [random.randint(1, 100) for _ in range(10)]
print(lista_numeros)

Explicación:

  • Esta expresión genera una lista de 10 números enteros aleatorios entre 1 y 100.

Fijar la semilla para la generación de números aleatorios

Para reproducir resultados aleatorios en diferentes ejecuciones del programa, puedes fijar una semilla usando random.seed(). Esto es útil para pruebas o simulaciones donde se necesita replicar exactamente el mismo conjunto de números aleatorios.

Ejemplo:

import random

random.seed(42)
print(random.randint(1, 10))
print(random.randint(1, 10))

Explicación:

  • random.seed(42) fija la semilla, lo que hace que los números aleatorios generados a continuación sean los mismos cada vez que se ejecute el código.

Algunos ejemplos

1. Generar una lista de números flotantes aleatorios:

lista_flotantes = [random.uniform(0, 1) for _ in range(5)]
    print(lista_flotantes)

2. Barajar una lista de elementos:

import random
    
    lista = [1, 2, 3, 4, 5]
    random.shuffle(lista)
    print(lista)

3. Generar un número aleatorio de 5 dígitos:

numero_aleatorio = random.randint(10000, 99999)
    print(numero_aleatorio)

4. Elegir múltiples elementos aleatorios de una lista sin repetición:

import random
    
    lista = ['manzana', 'banana', 'pera', 'naranja', 'uva']
    seleccionados = random.sample(lista, 3)
    print(seleccionados)

Referencias a sitios oficiales

Para obtener más información sobre la generación de números aleatorios en Python y las diferentes funciones disponibles, visita la documentación oficial de Python.

Etiquetas:
python
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer