El módulo random() se usa para generar números aleatorios en Python. En realidad, no es aleatorio, sino que se usa para generar números pseudoaleatorios. Eso implica que estos números generados aleatoriamente pueden determinarse.
aleatorio.getstate()
El método getstate() del módulo aleatorio devuelve un objeto con el estado interno actual del generador de números aleatorios. Este objeto se puede pasar al método setstate() para restaurar el estado. No hay parámetros pasados en este método.
Ejemplo 1:
Python3
import random # remember this state state = random.getstate() # print 10 random numbers print(random.sample(range(20), k = 10)) # restore state random.setstate(state) # print same first 5 random numbers # as above print(random.sample(range(20), k = 5))
Producción:
[16, 1, 0, 11, 19, 3, 7, 5, 10, 13] [16, 1, 0, 11, 19]
Ejemplo 2:
Python3
import random list1 = [1, 2, 3, 4, 5, 6] # Get the state state = random.getstate() # prints a random value from the list print(random.choice(list1)) # Set the state random.setstate(state) # prints the same random value # from the list print(random.choice(list1))
Producción:
3 3