Introducción al generador de números aleatorios en Python

Python es uno de los principales idiomas actualmente en el mundo de los lenguajes de programación. El USP de python son las bibliotecas de código abierto que se pueden utilizar para realizar todo tipo de tareas estadísticas y científicas con un código mínimo, ya que estas bibliotecas tienen todos los algoritmos incorporados para realizar tareas avanzadas. Esta es una de las principales razones de la popularidad de Python, especialmente en el campo de la ciencia de datos. Vamos a discutir el generador de números aleatorios en Python.

¿Qué es el generador de números aleatorios en Python?

Un generador de números aleatorios es un código que genera una secuencia de números aleatorios basada en algunas condiciones que no pueden predecirse sino por azar. La generación de números aleatorios es importante al aprender o usar cualquier idioma. Se requiere en juegos, loterías para generar cualquier número aleatorio. También puede ser necesario al escribir código para una aplicación web como si desea que se genere un OTP, por ejemplo. Por lo tanto, es mejor saber cómo generar números aleatorios en Python.

Para el generador de números aleatorios, utilizaremos un paquete aleatorio de python que está incorporado en python. Tiene muchas funciones incorporadas en su interior que se pueden utilizar para generar números aleatorios en función de nuestros requisitos.

Funciones de generador de números aleatorios en Python

A continuación, analizaremos algunas funciones de números aleatorios en Python y las ejecutaremos en Jupyter Notebook.

Elección()

Es una función incorporada en python que se puede usar para devolver números aleatorios de secuencias no vacías como list, tuple, string. Un ejemplo de esto sería seleccionar una contraseña aleatoria de una lista de contraseñas. Tenemos que notar un aspecto importante que la secuencia utilizada no puede estar vacía. En caso de que esté vacío, mostrará un error de índice.

Sintaxis:

import random
sequence=(1, 4, 6, 10) random. choice(sequence) //Here sequence is list or tuple or string

Ahora, veremos el resultado del ejemplo anterior cuando se ejecute en Jupyter Notebook.

Como puede ver, la salida se selecciona aleatoriamente como 6.

Aleatorio()

Esta función, como su nombre indica, devuelve un número aleatorio flotante entre 0.0 y 1.0. Entonces el límite inferior es 0.0 y el límite superior es 1.0. Una cosa a tener en cuenta es que el valor devuelto será flotante.

Ejemplo

import random
random.random()

Ahora ejecutaremos el código en Jupyter Notebook y veremos la salida para el mismo. La siguiente captura de pantalla muestra la salida.

Como podemos ver, el valor devuelto está entre 0.0 y 1.0.

Randrange (comienzo, final, paso)

Esta función devuelve un azar basado en los parámetros suministrados, ya que podemos ver que tiene tres parámetros.

Comenzar: este parámetro dice desde dónde comenzar. Se incluirá en la gama.

Fin: este parámetro dice dónde detenerse. Está excluido del rango.

Paso: es omitir los números en el rango.

Ejemplo con sintaxis:

import random
random.randrange(10, 20, 2)

Ahora ejecutemos este ejemplo en el cuaderno Jupyter y veamos el resultado. La operación y el resultado se muestran en la siguiente captura de pantalla

Barajar()

Esta función toma dos parámetros. La sintaxis de la función es random.shuffle (x, random). En esto, el parámetro aleatorio es opcional, mientras que la x representa la secuencia. Esta función devuelve una secuencia aleatoria, lo que significa que los lugares de los elementos en la secuencia son aleatorios pero los valores siguen siendo los mismos. Para comprender mejor, escribiremos algunas líneas en python.

Ejemplo

import random
num_list = (7, 8, 10, 12) print(“List before using shuffle: “, num_list)
random.shuffle(num_list)
print(“List after using shuffle method: “, num_list)

Ejecutaremos las instrucciones anteriores en Jupyter Notebook y echaremos un vistazo a la salida.

Como podemos ver arriba en la segunda salida, los elementos son los mismos pero sus posiciones han cambiado aleatoriamente. Este es el uso de la función shuffle ().

Uniforme (a, b)

Esta función devuelve un número aleatorio entre dos puntos ay b. el punto a es el límite inferior que incluí y el punto b es el límite superior que no está incluido. Se necesitan dos parámetros como se puede ver. No debe confundirse con random.random () ya que se usa para generar un número entre 0 y 1, mientras que esta función se usa para generar en un rango.

Ejemplo

import random
random.uniform(3, 5)

Ahora ejecutemos el mismo código en el cuaderno Jupyter.

Como puede ver, el número aleatorio devuelto está entre 3 y 5.

Generación de enteros

Ahora vamos a generar enteros aleatorios. Para generar valores enteros aleatorios, podemos usar la función randint () del módulo aleatorio de python y la función semilla

Toma un valor entero como argumento. Este tipo de función se llama determinista, lo que significa que generarán los mismos números con la misma semilla. En caso de que no usemos el mismo valor en la semilla, los números generados serán diferentes. Vamos a llamar a la función semilla antes de usar la aleatoriedad.

Ejemplo

from random import seed
from random import randint
#to generate seed number
seed(101)
#random number generation within 0 to 5
for _ in range(5):
value = randint(0, 5)
print(value)

Ahora ejecutemos este código en Jupyter Notebook.

Generando números de coma flotante

Ahora vamos a generar números de coma flotante. Para generar números aleatorios de coma flotante, vamos a usar la función random () que devolverá números aleatorios de coma flotante entre 0 y 1. Usaremos la función semilla que toma un valor entero como argumento. Dado que estamos dando el rango como 5, generará cinco números aleatorios ya que el ciclo for iterará cinco veces.

Ejemplo

from random import seed
from random import random
#to generate seed number
seed(101)
#random float number generation
for _ in range(5):
value = random()
print(value)

Ahora ejecutemos este código en Jupyter Notebook.

Como puede ver, obtenemos cinco números aleatorios de coma flotante.

Conclusión

Para concluir este artículo, podemos decir que el número aleatorio se vuelve muy útil en varias aplicaciones y que existen diferentes formas de generar números aleatorios.

Artículos recomendados

Esta es una guía para el generador de números aleatorios en Python. Aquí discutimos la introducción y las funciones de Random Number Generator junto con algunos ejemplos. También puede consultar los siguientes artículos para obtener más información:

  1. Constructor en Python
  2. Matrices 3D en Python
  3. Punteros en Python
  4. Operadores de comparación de Python
  5. Guía para generar números aleatorios en C ++
  6. Matrices 3D en C ++
  7. Generador de números aleatorios en Matlab
  8. Generador de números aleatorios en C #
  9. Generador de números aleatorios en PHP
  10. ¿Cómo funcionan las matrices y listas en Python?
  11. Ejemplos de operadores de comparación en PowerShell