Можно ли передавать значения с плавающей запятой в качестве аргумента функции random.seed ()? Вносит ли это непредвиденные проблемы?
Другими словами. Является ли ....
random.seed(0.99999999)
<use a few thousand random numbers>
random.seed(1)
<use a few thousand random numbers>
.... функционально эквивалентным ....
random.seed(0)
<use a few thousand random numbers>
random.seed(1)
<use a few thousand random numbers>
Быстрое тестирование показывает, что оба набора кода работают нормально и на поверхностном уровне выходы кажутся независимыми и детерминированными c.
Мне интересно знать, является ли этот метод посева полностью безопасным для использования в тех случаях, когда важна независимость между семенами. Получение детерминированных c результатов также важно. Я проверил некоторую документацию: Python 2.7 документация и Python 3.8 документация и сделал поиск в Google и нашел только ссылки на целые числа, используемые в качестве начального числа (или другие типы данных, которые преобразуются в целые числа). Я не видел ссылок на поплавки, и это заставляет меня задаться вопросом, являются ли они «безопасными» в том смысле, что они работают предсказуемым образом, без неприятных сюрпризов.
В настоящее время я работаю с Python 2.7, но мне интересен ответ и для более современных версий.