Воспроизводимые случайные числа: семя и состояние

Установка определенного Семени создаст фиксированный ряд случайных чисел:

 random.seed(5)                 # Create a fixed state         
print(random.randrange(0, 10))  # Get a random integer between 0 and 9
# Out: 9
print(random.randrange(0, 10))
# Out: 4

 

Сброс начального числа создаст ту же самую «случайную» последовательность снова:

 random.seed(5)                 # Reset the random module to the same fixed state.
print(random.randrange(0, 10))
# Out: 9
print(random.randrange(0, 10))
# Out: 4

 

Так как семя фиксируется эти результаты всегда 9 и 4 . Если иметь конкретные номера не требуется , только то , что значения будут тем же, также можно просто использовать getstate и setstate для восстановления предыдущего состояния:

 save_state = random.getstate()  # Get the current state
print(random.randrange(0, 10))
# Out: 5
print(random.randrange(0, 10))
# Out: 8

random.setstate(save_state)     # Reset to saved state
print(random.randrange(0, 10))
# Out: 5
print(random.randrange(0, 10))
# Out: 8

 

Для псевдо-рандомизации последовательности вы снова seed с None :

 random.seed(None)

 

Или вызовите seed метод без аргументов:

 random.seed()