Ответ 1
scipy.constants
определяет золотое соотношение как scipy.constants.golden
. Он нигде не определен в стандартной библиотеке, по-видимому, потому, что легко определить себя:
golden = (1 + 5 ** 0.5) / 2
Есть ли способ получить золотое отношение, phi
, в стандартном модуле python? Я знаю e
и pi
в модуле math
, но я, возможно, пропустил phi
, определенный где-то.
scipy.constants
определяет золотое соотношение как scipy.constants.golden
. Он нигде не определен в стандартной библиотеке, по-видимому, потому, что легко определить себя:
golden = (1 + 5 ** 0.5) / 2
Нет Однако, так как вы в любом случае импортируете математику, фи может быть вычислена так же, как и пи:
>>> import math
>>> pi = 4 * math.atan(1)
>>> pi
3.141592653589793
>>> math.pi
3.141592653589793
>>> phi = ( 1 + math.sqrt(5) ) / 2
>>> phi
1.618033988749895
Причина, по которой математика определила число пи и е, но не фи, может быть потому, что никто не просил об этом.
В математических документах Python сказано, что math.pi - это "математическая константа π = 3.141592... с доступной точностью"
Тем не менее, он на самом деле урезан до 53 бит. Если у вас есть суперкомпьютер, способный получать более высокую точность, вы можете получить лучшее приближение числа pi, используя математический модуль для четырехкратного вычисления арктангенса единицы: pi=4*math.atan(1)
.
То же самое можно сказать о phi, которые имеют хорошее приближение с решением квадратного уравнения x² + x -1 = 0: phi=(1+math.sqrt(5))/2
.