Guía completa de la librería random en Python: genera números aleatorios

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Librería Random en Python: guía completa

Trabajar con números aleatorios es una de las tareas fundamentales en programación. Ya sea que estés creando un juego simple, modelando eventos probabilísticos o trabajando con machine learning, la librería random en Python será una herramienta indispensable para cualquier desarrollador.

En este artículo, exploraremos a fondo cómo usar la librería random en Python de manera eficiente. Analizaremos la función randint y la compararemos con su equivalente en la librería NumPy.

¿Qué es la librería random?

La librería random es un módulo estándar de Python diseñado para generar números pseudoaleatorios. No requiere instalación adicional, ya que viene incluida con Python. Este módulo ofrece una amplia variedad de funciones para generar números aleatorios, seleccionar elementos al azar de secuencias y mezclar datos.

Principales funcionalidades de la librería random

  • Generación de números aleatorios de distintos tipos
  • Selección aleatoria de un elemento de una lista o tupla
  • Mezcla de elementos en colecciones
  • Generación de números aleatorios con distribución normal
  • Creación de secuencias aleatorias
  • Trabajo con distribuciones de probabilidad

Importar y empezar a usar random

Para empezar a usar la librería, solo necesitas importar el módulo de la forma estándar:

import random

Una vez importado, tendrás acceso a todas las funciones del módulo random para generar datos aleatorios.

Funciones principales de la librería random

Función random.random()

Esta función genera un número decimal aleatorio en el rango de 0.0 a 1.0, sin incluir el límite superior.

import random
print(random.random())  # Posible resultado: 0.7345832

Función random.randint() y sus características

La función random.randint() es una de las más populares del módulo. Genera un número entero aleatorio dentro de un rango específico. Una característica importante es que incluye ambos límites del rango.

random.randint(a, b)  # Devuelve un número aleatorio entre a y b, inclusive

Ejemplo práctico de la función randint:

number = random.randint(1, 10)
print(f"Número aleatorio: {number}")

Resultado: un número aleatorio del 1 al 10, inclusive.

Función random.choice()

Esta función selecciona un elemento aleatorio de una secuencia. Funciona con listas, tuplas, cadenas de texto y otros objetos iterables.

colors = ['red', 'blue', 'green', 'yellow']
selected_color = random.choice(colors)
print(selected_color)  # Posible resultado: 'blue'

Función random.shuffle()

Esta función mezcla los elementos de una lista directamente, modificando la lista original sin crear un nuevo objeto.

deck = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
random.shuffle(deck)
print(deck)  # Los elementos estarán en orden aleatorio

Funciones adicionales de random

Función random.uniform()

Genera un número decimal aleatorio dentro de un rango específico:

value = random.uniform(1.5, 5.5)
print(value)  # Número aleatorio entre 1.5 y 5.5

Función random.sample()

Devuelve una muestra aleatoria de una secuencia sin repeticiones:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sample = random.sample(numbers, 3)
print(sample)  # Tres números aleatorios sin repetición

NumPy y la función np.random.randint

¿Qué es np.random.randint?

La función np.random.randint es el equivalente de random.randint en la librería NumPy. Se utiliza para trabajar con arrays y vectores

Blogs

Book Recommendations