random () в питоне - PullRequest
       27

random () в питоне

4 голосов
/ 12 апреля 2010

В python функция random() генерирует случайное число с плавающей запятой равномерно в полуоткрытом диапазоне [0.0, 1.0). В принципе, может ли он когда-либо генерировать 0,0 (то есть ноль) и 1,0 (то есть единицу)? Какой сценарий на практике?

Ответы [ 2 ]

13 голосов
/ 12 апреля 2010

0.0 может быть сгенерировано; 1.0 не может (так как он не находится в пределах диапазона, следовательно, ) в отличие от [).

Вероятность генерации 0.0 равна вероятности генерации любого другого числа в этом диапазоне, а именно 1 / X, где X - количество различных возможных результатов. Для стандартной беззнаковой плавающей запятой двойной точности это обычно означает 53 бита дробного компонента для 2 ^ 53 возможных комбинаций, что приводит к вероятности 1 / (2 ^ 53) генерации точно 0.0.

Так что, хотя он может вернуть точно 0.0, маловероятно, что вы увидите его в ближайшее время - но столь же маловероятно, что вы увидите точно любое другое конкретное значение, которое вы можете выбрать заранее. 1012 *

11 голосов
/ 12 апреля 2010

[ указывает, что 0.0 равно , включенному в диапазон допустимых выходов. ) указывает 1.0, что не в диапазоне допустимых выходов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...