Generar enteros aleatorios en rango en Python

Manav Narula 30 enero 2023
  1. Utilice la función random.randint() para generar enteros aleatorios entre un rango específico en Python
  2. Utilice la función random.randrange() para generar números enteros aleatorios entre un rango específico en Python
  3. Utilice la función random.sample() para generar enteros aleatorios entre un rango específico en Python
  4. Utilice el módulo NumPy para generar enteros aleatorios entre un rango específico en Python
Generar enteros aleatorios en rango en Python

Python es una herramienta muy útil para el análisis de datos. Cuando nos enfrentamos a escenarios del mundo real, tenemos que generar valores aleatorios para simular situaciones y trabajar en ellas.

Python tiene disponibles los módulos random y NumPy, que tienen métodos eficientes disponibles para trabajar y generar números aleatorios con facilidad.

En este tutorial, generaremos algunos enteros aleatorios entre un rango específico en Python.

Utilice la función random.randint() para generar enteros aleatorios entre un rango específico en Python

La función randint() se utiliza para generar números enteros aleatorios entre un rango especificado. Las posiciones inicial y final se pasan a la función como parámetros.

Por ejemplo,

import random

x = random.randint(0, 10)
print(x)

Producción :

8

Para generar una lista de números aleatorios con esta función, podemos usar el método de comprensión de listas con el bucle for como se muestra a continuación:

import random

x = [random.randint(0, 9) for p in range(0, 10)]
print(x)

Producción :

[1, 6, 6, 5, 8, 8, 5, 5, 8, 4]

Tenga en cuenta que este método solo acepta valores enteros.

Utilice la función random.randrange() para generar números enteros aleatorios entre un rango específico en Python

La función randrange() también devuelve un número aleatorio dentro de un rango y acepta solo valores enteros, pero aquí tenemos la opción de especificar un parámetro muy útil llamado step. El parámetro step nos permite encontrar un número aleatorio divisible por un número específico. Por defecto, este parámetro es 1.

Por ejemplo,

import random

x = random.randrange(0, 10, 2)
print(x)

Producción :

4

Tenga en cuenta que la salida es divisible por 2. Usando el mismo método de comprensión de listas, podemos generar una lista de números aleatorios con esta función, como se muestra a continuación.

import random

x = [random.randrange(0, 10, 2) for p in range(0, 10)]
print(x)

Producción :

[8, 0, 6, 2, 0, 6, 8, 6, 0, 4]

Utilice la función random.sample() para generar enteros aleatorios entre un rango específico en Python

Con esta función, podemos especificar el rango y el número total de números aleatorios que queremos generar. También garantiza que no haya valores duplicados. El siguiente ejemplo muestra cómo utilizar esta función.

import random

x = random.sample(range(10), 5)
print(x)

Producción :

[7, 8, 5, 9, 6]

Utilice el módulo NumPy para generar enteros aleatorios entre un rango específico en Python

El módulo NumPy también tiene tres funciones disponibles para lograr esta tarea y generar el número requerido de enteros aleatorios y almacenarlos en un array numpy.

Estas funciones son numpy.random.randint(), numpy.random.choice() y numpy.random.uniform(). El siguiente código muestra cómo utilizar estas funciones.

Por ejemplo,

import numpy as np

x1 = np.random.randint(low=0, high=10, size=(5,))
print(x1)

x2 = np.random.uniform(low=0, high=10, size=(5,)).astype(int)
print(x2)

x3 = np.random.choice(a=10, size=5)
print(x3)

Producción :

[3 2 2 2 8]
[8 7 9 2 9]
[0 7 4 1 4]
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artículo relacionado - Python Random