Random
El módulo se utiliza 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.setstate()
El setstate()
método del random
módulo se usa en conjugación con el getstate()
método. Después de usar el getstate()
método para capturar el estado del generador de números aleatorios, el setstate()
método se usa para restaurar el estado del generador de números aleatorios al estado especificado.
El setstate()
método requiere un objeto de estado como parámetro que se puede obtener invocando el getstate()
método.
Ejemplo 1:
# import the random module import random # capture the current state # using the getstate() method state = random.getstate() # print a random number of the # captured state num = random.random() print("A random number of the captured state: "+ str(num)) # print another random number num = random.random() print("Another random number: "+ str(num)) # restore the captured state # using the setstate() method # pass the captured state as the parameter random.setstate(state) # now printing the same random number # as in the captured state num = random.random() print("The random number of the previously captured state: "+ str(num))
Producción:
Un número aleatorio del estado capturado: 0.8059083574308233
Otro número aleatorio: 0.46568313950438245
El número aleatorio del estado capturado previamente: 0.8059083574308233
Ejemplo 2:
# import the random module import random list1 = [1, 2, 3, 4, 5] # capture the current state # using the getstate() method state = random.getstate() # Prints list of random items of given length print(random.sample(list1, 3)) # restore the captured state # using the setstate() method # pass the captured state as the parameter random.setstate(state) # now printing the same list of random # items print(random.sample(list1, 3))
Producción:
[5, 2, 4] [5, 2, 4]