Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 317

10.0

Не пытайтесь обмануть эту функцию, она уже все это видела:

>>> math.sqrt(-100.0)

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

ValueError: math domain error

Здесь имеются также обычные тригонометрические функции, я просто приведу

их названия: sin(), cos(), tan(), asin(), acos(), atan() и atan2(). Если вы помните

теорему Пифагора (или хотя бы можете произнести ее название быстро три раза,

не начав плеваться), библиотека math предоставит вам также функцию hypot(),

которая рассчитывает гипотенузу на основании длины двух катетов:

>>> x = 3.0

>>> y = 4.0

>>> math.hypot(x, y)

5.0

Если вы не доверяете таким функциям, можете сделать все самостоятельно:

>>> math.sqrt(x*x + y*y)

5.0

>>> math.sqrt(x**2 + y**2)

5.0

Последний набор функций преобразует угловые координаты:

>>> math.radians(180.0)

3.141592653589793

>>> math.degrees(math.pi)

180.0

Работа с комплексными числами

Комплексные числа полностью поддерживаются основой языка Python в тради-

ционной нотации с мнимой и действительной частями:

>>> # действительное число

... 5

5

>>> # мнимое число

... 8j

8j

>>> # мнимое число

... 3 + 2j

(3+2j)

Математика и статистика в стандартной библиотеке

411

Поскольку мнимое число i (в Python оно записывается как 1j) определено как

квадратный корень из –1, мы можем выполнить следующее:

>>> 1j * 1j

(-1+0j)

>>> (7 + 1j) * 1j

(-1+7j)

Некоторые математические функции для комплексных чисел содержатся в стан-

дартном модуле cmath.

Рассчитываем точное значение чисел

с плавающей точкой с помощью decimal

Числа с плавающей точкой в вычислительной технике не похожи на настоящие