Size: a a a

Сообщество Python Программистов

2020 February 15

V

Vlad in Сообщество Python Программистов
Мне вот интересно стало 🤔
import random
откуда он берет рандом число?
Ведь есть же какой-то алгоритм?
Или это больше вопрос риторический?
источник

KV

Konstantin Vinogradov in Сообщество Python Программистов
Вот такое ТЗ поставил себе:
Парсер прокси https.
Есть несколько сайтов, и для каждого из них необходимо написать функцию, которая будет добавлять в словарь записи. Формат: key = ”ip:port” value =[“ip”,”port”, count]

Далее другая функция тестирует каждый прокси и добавляет в список OK или FAIL.
Далее весь словарь записывается в excel.

Выполнить реализацию в виде бота. Сделать в нём таск на 6:30 для переобхода и формирования нового списка. Так же формировать его при первом запуске, и что бы бот сам выбирал через что он подключится к телеге.

Сделать код без замечаний по пепу.

P.s. Задача простая и лёгкая, но пеп меня выводит из себя. Уже пол часа чищу документ)
источник

VK

Vadim Korotov in Сообщество Python Программистов
Vlad
Мне вот интересно стало 🤔
import random
откуда он берет рандом число?
Ведь есть же какой-то алгоритм?
Или это больше вопрос риторический?
Таких алгоритмов несколько и они все генерируют псевдослучайные числа. Если интересно как оно делается можно легко нагуглить.
источник

KV

Konstantin Vinogradov in Сообщество Python Программистов
Vlad
Мне вот интересно стало 🤔
import random
откуда он берет рандом число?
Ведь есть же какой-то алгоритм?
Или это больше вопрос риторический?
Коротко: есть ключевое значение с помощью которого вычисляются числа(они не случайные). Если взять два компа полностью одинаковых и поместить один и тот же ключ, то сгенерированный числовой ряд будет одним и тем же. Что бы у  всех всё было по разному, ключевое значение берётся от времени, поэтому у всех разные "случайные числа".
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Vlad
Мне вот интересно стало 🤔
import random
откуда он берет рандом число?
Ведь есть же какой-то алгоритм?
Или это больше вопрос риторический?
Он псевдослучайных числа генерит
Если семя явно не указано то за него считается текущее время
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
На самом деле в os.urandom(...) реально случайные числа
источник

A

Alexander in Сообщество Python Программистов
Бензофуран Гетероцикл
На самом деле в os.urandom(...) реально случайные числа
Нет
источник

A

Alexander in Сообщество Python Программистов
Даже cat /dev/urandom псевдослучаен
источник

KV

Konstantin Vinogradov in Сообщество Python Программистов
Бензофуран Гетероцикл
На самом деле в os.urandom(...) реально случайные числа
Единственное что я видел случайным - это погрешность в float. И то - она тоже предсказуемая.
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Alexander
Даже cat /dev/urandom псевдослучаен
Он достаточно дохуя источников берёт что бы по факту быть случайным
источник

A

Alexander in Сообщество Python Программистов
Это может быть существенно математические накрученная функция времени или состояния
источник

A

Alexander in Сообщество Python Программистов
Но она всегда обратима и предсказуема
источник

A

Alexander in Сообщество Python Программистов
Были попытки генеоить случайные числа координатами частицы в броуновском движении, но и они обсчитываемы оказались
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Alexander
Но она всегда обратима и предсказуема
Для повторения urandom тебе надо будет ТОЧНО повторить состояние системы
От времени старта включительно
источник

A

Alexander in Сообщество Python Программистов
Не надо повторять, надо предсказывать
источник

A

Alexander in Сообщество Python Программистов
Аппроксимация функции urandom в любом случае возможна на значительном отрезке
источник

A

Alexander in Сообщество Python Программистов
Т. Е. Приемлемым считаются такие рандомы, которые для аппроксимации требуют большее время
источник

A

Alexander in Сообщество Python Программистов
Они могут быть качественными, достаточными и тд, но они все ещё псевдослучайны
источник

KV

Konstantin Vinogradov in Сообщество Python Программистов
Бензофуран Гетероцикл
Для повторения urandom тебе надо будет ТОЧНО повторить состояние системы
От времени старта включительно
И тут мы упрёмся в теорию хаоса, т.к. не сможем полностью повторить всю систему. И через некоторый промежуток времени значия начнут расходится. Это норма.
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Alexander
Они могут быть качественными, достаточными и тд, но они все ещё псевдослучайны
Рандом операционки же на ГСЧ ОС, который считается криптографически безопасным
источник