Función de semilla aleatoria en Python

Abdul Jabbar 4 diciembre 2021
Función de semilla aleatoria en Python

Si desea un número aleatorio de resultados inesperados para juegos de azar o juegos de computadora, debe crear el número aleatorio a partir del método incorporado en Python. También es útil en criptografía porque ayuda a crear números aleatorios que los hackers o atacantes no pueden adivinar.

El procedimiento seed se utiliza para reiniciar el generador de números aleatorios. El generador de números aleatorios necesita un número para comenzar (un valor inicial), para poder generar un número aleatorio. Puede ser cualquier número, pero generalmente proviene de los segundos en el reloj de un sistema informático. De forma predeterminada, el generador de números aleatorios utiliza la hora real de la computadora. Utilice el método para personalizar el número de inicio del generador de números aleatorios.

Generadores de números pseudoaleatorios una tarea mediante la realización de algunas funciones en un valor. Generalmente, este valor es el número anterior generado por el generador. De todos modos, la primera vez que usa el generador, no hay ningún valor previo.

Nota: Si usa el mismo valor de semilla dos veces, obtendrá el mismo número aleatorio dos veces; Veremos este caso en el siguiente ejemplo de código.

Cuando llame a este método, no espere que sea un número único porque las computadoras no siempre calculan números verdaderamente aleatorios, ya que funciona con un conjunto de reglas predefinidas. Si desea agregar algo de aleatoriedad, debe crear algunas reglas para su proceso; por ejemplo, para crear una ecuación para su proceso en expresión con x, sume 600 + x y luego reste con 30. Tomemos la x (el valor semilla) como 40.

  • Suma 600 + 40 = 640
  • Restar 30 = 614

Siguiendo el mismo algoritmo, el segundo número aleatorio sería.

  • Suma 600 + 30 = 630
  • Restar 30 = 600

Este simple ejemplo sigue un cierto patrón específico, sin embargo, los algoritmos detrás de la generación de números por computadora son mucho más difíciles de imitar la aleatoriedad mucho mejor de lo que puedo hacer aquí. Pero el proceso sigue un patrón determinado, que se repetirá la próxima vez que ingrese 40, o cualquier número que elija en la semilla aleatoria.

Función de semilla aleatoria en Python

En este bloque de código, generaremos un número aleatorio entre 0 y 100 y generaremos 3 veces para fines de verificación. La primera y la segunda vez, damos la misma semilla, y la tercera vez, no hay semilla o cambia el valor de la semilla. Primero, importaremos la funcionalidad aleatoria en nuestro código y proporcionaremos la semilla como 3, lo que nos dará el valor 31 como un número aleatorio, luego proporcionaremos la misma semilla, que nos proporcionará el mismo número nuevamente porque la semilla fue mismo. Pero cuando proporcionamos una nueva semilla o ninguna, el valor siempre será diferente.

import random

random.seed(4)
print(random.randint(1, 100))
random.seed(4)
print(random.randint(1, 100))
print(random.randint(1, 100))

Producción :

31
31
39

El uso de la función random.randint generaría un número aleatorio y no haría nada más. Si desea mantener su uso del mismo número generado aleatoriamente, tan simple como eso, se supone que debe usar la función semilla.

Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn