La función randint() permite generar enteros alea­to­rios en un rango de­te­r­mi­na­do de una manera rápida y sencilla. Es, por ello, una he­rra­mie­n­ta con una gran variedad de apli­ca­cio­nes.

¿Para qué se utiliza randint()?

randint() es una función de Python que forma parte del módulo random. Se encarga de crear un número entero aleatorio dentro de un rango. A di­fe­re­n­cia de algunas funciones en otros lenguajes de pro­gra­ma­ción, randint() incluye el punto final es­pe­ci­fi­ca­do del rango, por lo que tanto el valor inicial como el final pueden estar en el rango de posibles re­su­l­ta­dos. Además, esta función es pa­r­ti­cu­la­r­me­n­te útil en apli­ca­cio­nes basadas en valores alea­to­rios.

El módulo random contiene otras funciones aparte de randint() para generar números alea­to­rios de di­fe­re­n­tes maneras. Una de ellas es random.randrange(start, stop[, step]), la cual tiene una fu­n­cio­na­li­dad similar a randint(), pero permite es­pe­ci­fi­car un paso opcional para la secuencia de números. Además, random.randint() solo genera números enteros, mientras que random.uniform(a, b) devuelve un número aleatorio de coma flotante en el rango es­pe­ci­fi­ca­do. El paquete numpy incluye también otras funciones potentes para generar números alea­to­rios, es­pe­cia­l­me­n­te para matrices y ope­ra­cio­nes ma­te­má­ti­cas complejas.

¿Cuál es la sintaxis de randint()?

La función randint() del módulo random de Python es re­la­ti­va­me­n­te fácil de utilizar. Solo requiere dos pa­rá­me­tros: el valor inicial y el valor final del intervalo deseado para el entero aleatorio.

import random
random_number = random.randint(start, end)
python
  • import random: importa el módulo random que contiene la función randint(). Este paso es necesario para poder utilizar randint().

  • random_number: es una variable en la que se almacena el resultado de la función randint(). Contiene el número entero aleatorio generado.

  • start: es el valor de inicio del intervalo desde el que debe generarse el número entero aleatorio. Está incluido en el resultado.

  • end: es el valor final del intervalo, que también está incluido en el resultado.

Fíjate en este ejemplo:

import random
random_number = random.randint(1, 100)
print(random_number)
python

Este código genera un número entero aleatorio entre 1 y 100 y lo imprime. start y end incluyen los valores límite es­pe­ci­fi­ca­dos, por lo que el número generado puede estar en el rango de 1 a 100.

¿Cómo y dónde utilizar la función randint()?

La función randint() te permite generar números alea­to­rios de forma flexible en tu programa. No obstante, es im­po­r­ta­n­te ase­gu­rar­se de que el código esté limpio y sea correcto para evitar posibles errores.

Llamar varias veces a randint()

Cuando llamas a la función randint() varias veces, puedes generar varios números enteros alea­to­rios en distintas partes del código. Cada llamada a randint() genera un nuevo número entero aleatorio según los pa­rá­me­tros es­pe­ci­fi­ca­dos.

import random
# Generate three different random integers between 1 and 10
random_number1 = random.randint(1, 10)
random_number2 = random.randint(1, 10)
random_number3 = random.randint(1, 10)
# Print the generated random integers
print("Random integer 1:", random_number1)
print("Random integer 2:", random_number2)
print("Random integer 3:", random_number3)
python

En el código anterior, se utilizan tres llamadas separadas a randint() para generar tres números enteros alea­to­rios distintos entre 1 y 10. Cada variable random_numberX almacena el resultado de una llamada randint(), y estos valores se pueden re­uti­li­zar o emitir según los re­qui­si­tos de la apli­ca­ción.

El Va­lueE­rror en randint()

En randint() aparece un Va­lueE­rror cuando los ar­gu­me­n­tos no cumplen las ex­pe­c­ta­ti­vas, por ejemplo, si el valor de inicio es mayor que el valor final o si se pasan ar­gu­me­n­tos no enteros. Para evitar ex­ce­p­cio­nes Va­lueE­rror y ga­ra­n­ti­zar que la función se ejecute co­rre­c­ta­me­n­te, es im­po­r­ta­n­te ase­gu­rar­se de que los pa­rá­me­tros sean correctos.

# Correct use of randint()
random_number = random.randint(1, 10)
print("Random integer between 1 and 10:", random_number)
# Potential ValueError if 'end' is less than 'start'
random_number_error = random.randint(10, 5)  # This will raise a ValueError
print("This won't be printed as an error occurs.")
python

En este ejemplo se utiliza primero random.randint(1, 10) para crear un número entero aleatorio entre 1 y 10. Después, se intenta llamar a random.randint(10, 5), lo que provoca un Va­lueE­rror al ser el valor inicial mayor que el final.

El TypeError en randint()

Un TypeError significa que estás tratando de hacer una operación o usar una función con un tipo de datos que no es adecuado para ello. En el contexto de la función randint() del módulo random podría aparecer un TypeError si los ar­gu­me­n­tos que se pasan no tienen el tipo de datos esperado.

import random
random_number_error = random.randint("1", "10")
python

En este ejemplo, se quiere llamar a randint() con Python strings como ar­gu­me­n­tos. Sin embargo, estas cadenas contienen "1" y "10" en lugar de números enteros. Eso causa un TypeError, pues randint() espera enteros como ar­gu­me­n­tos para definir el intervalo aleatorio.

Hosting
Hosting de primera al mejor precio
  • 3x más rápido, ahora un 60 % de ahorro
  • Alta di­s­po­ni­bi­li­dad >99.99 %
  • Solo en IONOS: hasta 500 GB incluidos
Ir al menú principal