набор случайных семян в python

У меня довольно большая программа, где я использую функции из random модуля в разных файлах. Я хотел бы иметь возможность установить случайное семя один раз, в одном месте, чтобы программа всегда возвращала одни и те же результаты. Может ли это быть достигнуто в python ?

4 Solutions collect form web for “набор случайных семян в python”

Основной исполняемый модуль python должен import random и вызвать random.seed(n) – это разделяется между всеми другими импортными random.seed(n) random если в другом месте не сбрасывается семя.

В начале вашего приложения вызовите random.seed(x) удостоверяясь, что x всегда одно и то же. Это гарантирует, что последовательность псевдослучайных чисел будет одинаковой во время каждого запуска приложения.

Джон Клементс в значительной степени отвечает на мой вопрос. Однако это не была настоящая проблема: выясняется, что причиной случайности моего кода было numpy.linalg SVD, потому что он не всегда дает одинаковые результаты для плохо обусловленных матриц !!

Поэтому обязательно проверьте это в своем коде, если у вас есть те же проблемы!

Вы можете гарантировать это довольно легко, используя свой собственный генератор случайных чисел.

Просто выберите три довольно больших числа (предположим, что это не приложение для криптографии) и подключите их к a, b и c: a = ((a * b)% c) Это дает систему обратной связи, которая производит довольно случайные данные. Обратите внимание, что не все простые числа работают одинаково хорошо, но если вы просто выполняете симуляцию, это не имеет значения – все, что вам действительно нужно для большинства симуляций, – это беспорядок чисел с достаточно сложным (псевдослучайным, запоминающимся) это не похоже на ваше приложение.

Кнут говорит об этом.

Python - лучший язык программирования в мире.