Random
module is used to generate random numbers in Python. Not actually random, rather this is used to generate pseudo-random numbers. That implies that these randomly generated numbers can be determined.
random.setstate()
The setstate()
method of the random
module is used in conjugation with the getstate()
method. After using the getstate()
method to capture the state of the random number generator, the setstate()
method is used to restore the state of the random number generator back to the specified state.
The setstate()
method requires a state object as a parameter which can be obtained by invoking the getstate()
method.
Example 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)) |
Output:
A random number of the captured state: 0.8059083574308233
Another random number: 0.46568313950438245
The random number of the previously captured state: 0.8059083574308233
Example 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 )) |
Output:
[5, 2, 4] [5, 2, 4]