Python

Есть ли способ вывести случайное число не используя модуль random в python

получить случайные числа с использованием модуля времени не получается
иногда питон крут:
 import datetime 

def my_rand() :

if not hasattr(my_rand, 'N') :
my_rand.N = datetime.datetime.now().microsecond
my_rand.N = (5**17 * my_rand.N) % (2**40)

return (my_rand.N * 1.0 /(2**40))


for _ in range(20) :
print(my_rand())
Ateshxan #
Ateshxan #
53 607
Лучший ответ
Роман Прохоров есть ли способ дополнить как то ваш код чтобы выдавать случайное число в определённом интервале? как пример от 1 до 5
Разумеется, причем это будут настоящие случайные числа, а не твое поделие на таймере:

https://rdrand.readthedocs.io/en/latest/
Если тебе так не хочется пользоваться готовым решением, то сделай своё такое же. Для этого текущее время или время работы системы используется только в качестве семени, а дальнейшие числа генерируются по формуле, то есть все дальнейшие значения предопределены формулой, но случайны. Варианты формулы загугли.
______ ______
______ ______
67 410
В математике и программировании не существует случайных чисел, есть исключительно псевдо-случайные числа.
Чтобы получить действительно случайное число, необходимо задействовать Свободный выбор человека при генерации чисел, как это реализовано в puttygen - свободно водить курсором мышкой в пустой области.
Алмаз Исхаков Это слишком предсказуемо. серьезные дядьки предпочитают рандом от частиц высоких энергий из космоса (космическую радиацию).
Алмаз Исхаков >>а все твои аргументы- это обзывательства.
Ни в коем случае просто констатация факта. Просто необходимо понимать идеологию оппонента какие идеи и логику (идеологию) он использует так проще объяснить ему свою точку зрения.

Цитировать опровержение и сразу написать что это не опровержение не приводя никакой аргументации это и есть чистейший пример идеологии идиотизма.

Я продолжаю утверждать что утверждение что "Факт нельзя опровергнуть." является ошибочным (нарушающим логику утверждением).
Типичные примеры опровергнутых фактов:
Земля не плоская,
Дед мороза не существует,
Попа от сладкого не слипнеться.
Алмаз Исхаков >>что доказывает что человек способен действовать без причины!
Тогда тебя сильно разочарует эксперимент Либета.
Алмаз Исхаков >>Написано ясно: "Свобода воли существует"...
Снова идиотское утверждение ((.

Эксперимент Либета просто показал рамки в которых существование свободы воли невозможно т.к. подчиняется электрохимическим процессам в головном мозге. Это никак не доказывает существование свободы воли но и не опровергает эту гипотезу.
Алмаз Исхаков >>Используй кнопку "цитата" для выделения цитат.
Я сознательно игнорирую этот функционал т.к. мне крайне не нравится его реализация.

>>"...свобода воли существует", значит существует,
Очередное гениальнейшее обоснование декларируемого факта xD.

>>Иммануил Кант доказал,
И какая же формулировка у этого доказательства?
Алмаз Исхаков >>Вы ссылались на Либета, а он пишет прямо: "...свобода воли существует", что подтверждает выводы Иммануила Канта.

Очередной идиотизм =(.
>> числа с использованием модуля времени не получается
Потому что ты используешь целые числа близкие к началу системы исчисления. Если залезть подальше знаков на 800 в мантису чисел с плавающей точкой то ты получишь что то похожее на случайные числа. Но вот с равномерным распределением там будет беда. Поэтому используют тригонометрические функции ( sin(time*6887875654) * 6887875654 );
В действительности не существует случайных чисел , но подумал , а что если сделать рекурсивную функцию которая делает некоторые мат вычисления например +2 -1 и тд отключить ее спустя какое то время
Петро Мельник То есть ты не знаешь на каких вычисления остановится значения счётчика
Петро Мельник А вообще конкретнее опиши задачу и зачем тебе это надо
Петро Мельник Тебе вообще нельзя использовать библиотеки или именно библиотеку рандом ?
Петро Мельник Тут довольно подробно описывается как компьютер генерирует случайные числа