Другие уже объяснили, что в диапазоне [0.0, 1.0] около 2 ^ 62 удваивается. (Неудивительно: почти 2 ^ 64 отдельных конечных двойника, из них половина положительна, а примерно половина тех равна & lt; 1.0.)
Но вы говорите генераторы случайных чисел: обратите внимание, что генератор случайных чисел, генерирующий числа от 0,0 до 1,0 , вообще не может производить все эти числа; обычно он будет генерировать числа формы n / 2 ^ 53 с n целым числом (см., например, документацию по Java для nextDouble ). Таким образом, обычно есть только около 2 ^ 53 (+/- 1, в зависимости от того, какие конечные точки включены) возможные значения для выхода random()
. Это означает, что большинство удвоений в [0.0, 1.0] никогда не будут сгенерированы.
Кажется, что проблема не связана с модулем, находящимся в родительском каталоге или чем-либо как этот.
Необходимо добавить каталог, который содержит ptdraft
к PYTHONPATH
Вы сказали это import nib
работавший с Вами, который, вероятно, означает, что Вы добавили ptdraft
самостоятельно (не его родитель) к PYTHONPATH.
Простое решение для полного пути:
import sys
sys.path.insert(0,'C:\\Users\\user01\\Desktop\\pipeline')
from folder1.folder2.filename import function_name
это импортирует функцию "function_name" из: C:\Users\user01\Desktop\pipeline\folder1\folder2\filename
Вы могли использовать относительный импорт (Python> = 2.5):
from ... import nib
(Новые функции и возможности в Python 2.5) PEP 328: абсолютный и относительный импорт
Править: добавленный другая точка '.' для восстановления работоспособности двух пакетов
В Ноутбуке Jupyter с Linux
, пока Вы работаете в Ноутбуке Jupyter, это короткое решение могло бы быть полезным:
%cd ..
import nib
Это работает даже без __init__.py
файл.