Кружок по программированию, 2017-2018
Для проведения вычислений с действительными числами язык Питон содержит много дополнительных функций, собранных в библиотеку (модуль), которая называется math .
Для использования этих функций в начале программы необходимо подключить математическую библиотеку, что делается командой
import math
Функция от одного аргумента вызывается, например, так: math.sqrt(x) (то есть явно указывается, что из модуля math используется функция sqrt (квадратный корень)). Вместо числа x может быть любое число, переменная или выражение. Функция возвращает значение, которое можно вывести на экран, присвоить другой переменной или использовать в выражении:
y = math.sqrt( 4 )
print (math.sin(math.pi / 2 ))
Другой способ использовать функции из библиотеки math , при котором не нужно будет при каждом использовании функции из модуля math указывать название этого модуля, выглядит так:
from math import sqrt, sin
print (sin(pi / 2 ))
Другие способы импортировать функции из модулей
Если вместо списка конкретных функций, которые нужно импортировать, указать звёздочку, то будут загружены все функции. Однако так лучше никогда не делать, потому что функции, импортированные из модуля, могут затирать уже существующие.
>>> print ( pow ( 2 , 3 , 10 ))
>>> from math import *
>>> print ( pow ( 2 , 3 , 10 ))
Traceback (most recent call last):
File «» , line 1 , in
TypeError: pow expected 2 arguments, got 3
Если необходимо импортировать все функции, но хочется сократить код (имя math ещё достаточно короткое, могло бы быть имя TelegramBotPython , которое уж совсем громоздкое), то можно использовать следующий подход:
import math as mh
y = mh.sqrt(x)
print (mh.sin(mh.pi / 2 ))
Ниже приведен список основных функций модуля math . Более подробное описание этих функций можно найти на сайте с документацией на Питон.
Некоторые из перечисленных функций ( int , round , abs ) являются стандартными и не требуют подключения модуля math для использования.
| Функция | Описание | Пример |
|---|---|---|
| Округление | ||
| int(x) | Округляет число в сторону нуля. Это стандартная функция, для ее использования не нужно подключать модуль math . | int(17.9) == 17; int(-17.9) == -17 |
| round(x) | Округляет число до ближайшего целого. Если дробная часть числа равна 0.5, то число округляется до ближайшего четного числа. | round(17.9) == 18; round(-17.9) == -18 |
| round(x, n) | Округляет число x до n знаков после точки. Это стандартная функция, для ее использования не нужно подключать модуль math . | round(17.9123, 1) == 17.9; round(-17.9123, 1) == -17.9 |
| floor(x) | Округляет число вниз (“пол”), при этом floor(1.5) == 1 , floor(-1.5) == -2 | floor(17.9) == 17; floor(-17.9) == -18 |
| ceil(x) | Округляет число вверх (“потолок”), при этом ceil(1.5) == 2 , ceil(-1.5) == -1 | ceil(17.9) == 18; ceil(-17.9) == -17 |
| abs(x) | Модуль (абсолютная величина). Это — стандартная функция. | abs(17.9) == abs(-17.9) == 17.9 |
| fabs(x) | Модуль (абсолютная величина). Эта функция всегда возвращает значение типа float . | fabs(-17) == 17.0 |
| Корни, степени, логарифмы | ||
| sqrt(x) | Квадратный корень. Использование: sqrt(x) | sqrt(4) == 2; sqrt(10) == 3.1622776601683795 |
| pow(a, b) | Возведение в степень, возвращает a b . Использование: pow(a,b) . Одноимённая функция есть и среди стандартных, но работает она немного по-другому. В частности, у неё есть третий параметр, позволяющий вычислять степени по модулю числа. Например, последние три цифры степени без непосредственного её вычисления можно получить так: pow(179, 10000, 000) | pow(3, 2) == 9.0; pow(4, 3.322) == 100.00996866205664 |
| exp(x) | Экспонента, возвращает e x . Использование: exp(x) | exp(1) == 2.718281828459045; exp(2) == 7.38905609893065 |
| log(x) | Натуральный логарифм. При вызове в виде log(x, b) возвращает логарифм по основанию b . | exp(log(7)) == 6.999999999999999; log(1024, 2) == 10.0 |
| log2(x) | Двоичный логарифм. log 2 8 = 3 , log 2 1024 = 10 \log_2 8 = 3, \log_2 1024 = 10 lo g 2 8 = 3 , lo g 2 1 0 2 4 = 1 0 . | pow(2, log2(17)) == 16.999999999999996; log2(1024) == 10.0 |
| log10(x) | Десятичный логарифм. log 10 10 = 1 , log 10 1000 = 3 \log_ 10 = 1, \log_ 1000 = 3 lo g 1 0 1 0 = 1 , lo g 1 0 1 0 0 0 = 3 . | log10(100) == 2.0 |
| e | Основание натуральных логарифмов e ≈ 2 , 71828. e\approx271828. e ≈ 2 , 7 1 8 2 8 . . . . | |
| Тригонометрия | ||
| sin(x) | Синус угла, задаваемого в радианах, sin 0 = 0 , sin π 2 = 1 \sin 0 = 0, \sin\frac<\pi>=1 sin 0 = 0 , sin 2 π = 1 . | sin(pi/2) == 1.0 |
| cos(x) | Косинус угла, задаваемого в радианах, cos 0 = 1 , cos π 2 = 0 \cos 0 = 1, \cos\frac<\pi>=0 cos 0 = 1 , cos 2 π = 0 . | cos(pi/4)**2 == 0.5 |
| tan(x) | Тангенс угла, задаваемого в радианах | tan(pi/4) == 1.0 |
| asin(x) | Арксинус, возвращает значение в радианах | |
| acos(x) | Арккосинус, возвращает значение в радианах | |
| atan(x) | Арктангенс, возвращает значение в радианах | |
| Полярный угол (в радианах) точки с координатами (x, y). | atan2(0,1) == 0.0; atan2(1,0) == pi/2; atan2(0,-1) == pi; atan2(-1,0) == -pi/2 |
|
| Длина гипотенузы прямоугольного треугольника с катетами a и b. | hypot(3, 4) == 5.0 | |
| degrees(x) | Преобразует угол, заданный в радианах, в градусы. | degrees(pi/3) == 60 |
| radians(x) | Преобразует угол, заданный в градусах, в радианы. | radians(60) == pi/3 |
| pi | Константа π | |
| Разное | ||
| factorial | Вычисляет факториал целого числа | factorial(6) == 720 |
| gcd | Вычисляет НОД (наибольший общий делитель) двух чисел | gcd(10, 16) == 2 |
| frexp | Представляет действительное числов в виде x == m * 2**e , где либо m = e = 0 , либо 0.5 <=|m|<1 (в виде мантиссы и экспоненты). | frexp(0.1) == (0.8, -3) |
| .as_integer_ratio | Этот метод представляет действительное число в виде несократимой рациональной дроби со знаменателем — степенью двойки. | (0.1).as_integer_ratio() == (3602879701896397, 36028797018963968) |
Д. П. Кириенко. Программирование на языке Python (школа 179 г. Москвы)
Для проведения вычислений с действительными числами язык Питон содержит много дополнительных функций, собранных в библиотеку (модуль), которая называется math .
Для использования этих функций в начале программы необходимо подключить математическую библиотеку, что делается командой
import math
Функция от одного аргумента вызывается, например, так: math.sin(x) (то есть явно указывается, что из модуля math используется функция sin ). Вместо числа x может быть любое число, переменная или выражение. Функция возращает значение, которое можно вывести на экран, присвоить другой переменной или использовать в выражении:
y = math.sin(x) print(math.sin(math.pi/2))
Другой способ использовать функции из библиотеки math , при котором не нужно будет при каждом использовании функции из модуля math указывать название этого модуля, выглядит так:
from math import * y = sin(x) print(sin(pi/2))
Ниже приведен список основных функций модуля math . Более подробное описание этих функций можно найти на сайте с документацией на Питон.
Импорт и создание модулей
Питон включает в себя обширную библиотеку модулей, в которых реализовано множество полезных функций. Далее в этом курсе мы будем применять и другие полезные модули: re для регулярных выражений, collections , содержащий множество удобных структур данных, os и shutil для управления файлами и папками.
Для использования модуля его нужно импортировать — попросить питон загрузить его и сделать его функции доступными для использования. Импорт осуществляется с помощью оператора import . Например, модуль random используется для генерации “случайных” чисел.
>>> import random >>> # Теперь мы можем вызывать функции из модуля random, указав их имя после "random." с точкой >>> random.randint(0, 5) # выводит случайное целое число между 0 и 5 включительно 2 >>> random.choice('abcdef') # выберает случайный элемент коллекции 'c' >>> random.random() # Выводит случайное число на полуинтервале [0, 1) 0.9131300358342321
Ещё один пример: модуль math , содержащий различные математические функции и константы
>>> math.cos(0) # ошибка, модуль ещё не импортирован --------------------------------------------------------------------------- NameError Traceback (most recent call last) ipython-input-4-9cdcc157d079> in module>() ----> 1 math.cos(0) NameError: name 'math' is not defined >>> import math >>> math.cos(0) 1.0 >>> math.asin(1) 1.5707963267948966 >>> math.e 2.718281828459045
Использование псевдонимов
Если название модуля слишком длинное и вы не хотите его писать каждый раз, когда используете какую-то функцию, вы можете импортировать этот модуль под псевдонимом с помощью as:
>>> import math as m >>> m.factorial(5) 120
Импорт нескольких модулей
Модули можно импортировать в одну строчку через запятую, если требуется использовать несколько, либо можно писать каждый импорт на новой строчке.
>>> import random, math >>> math.sqrt(random.randint(0, 5)) 2.23606797749979
import random import math
>>> math.sqrt(random.randint(0, 5)) 2.0
Инструкция from
Иногда в модуле бывает много разных функций, а вам нужно использовать только что-то одно (и, например, использовать много раз), тогда проще импортировать какую-то определенную функцию из этого модуля и (1) чуть-чуть сэкономить память, (2) короче синтаксис. Тогда синтаксис импорта будет следующий:
>>> from math import ceil, floor >>> ceil(145.3) 146 >>> floor(145.6) 145
Также можно импортировать из модуля всё. То есть все функции, переменные и классы. Тогда нам не нужно каждый раз писать название модуля.
>>> from math import * >>> sqrt(144) 12.0 >>> pi 3.141592653589793
Однако, это очень плохая практика так как в двух разных модулях могут быть одинаковые функции и при импорте вы просто не будете знать, какую используете.
Правило хорошего тона — импортировать модули вначале вашей программы, до любого другого кода и функций.
Создание своего модуля питон
Любой файл с исходным кодом на Python — модуль! Это значит, что любая программа может выступать в роли модуля для другой и импортироваться.
Давайте напишем скрипт с парой функций и импортируем эти функции в другую программу.
Создадим программу mymodule.py:
def avg(numbers): if not numbers: return 0 return sum(numbers) / len(numbers) def myfactorial(n): if n == 1: return n elif n 1: return ("NA") else: return n * myfactorial(n-1)
В ней мы прописали две математические функции: среднее и факториал. Предположим теперь мы хотим воспользоваться ими в какой-нибудь другой программе myscript.py. Тогда мы положим эти два файла в одну директорию, чтобы импорт работал. И в результате мы сможем ипмортировать эти функции в новую программу.
Файл myscript.py:
import mymodule n = input("Введите число: ") my_list = [1] * (int(n)/2) + [2] * (int(n)/2) print(mymodule.avg(my_list)) print(mymodule.myfactorial(int(n)))
Кстати, найдите баг в этом коде:
>>> [1] * (5/2) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) ipython-input-35-f37e9b720bb2> in module> ----> 1 [1] * (5/2) TypeError: can't multiply sequence by non-int of type 'float' >>> [1] * (5//2) [1, 1]
Задача: составление анаграмм
В качестве примера использования функций и модуля стандартной библиотеки random рассмотрим задачу составления анаграмм. В качестве входного файла будем использовать любой текст, из которого мы выберем слова. Пусть текст находится в файле text.txt и имеет следующее содержание (из Яндекс.Рефератов):
Субъект вызывает мелодический импульс. Пласт параллельно понимает понимающий эриксоновский гипноз, следовательно тенденция к конформизму связана с менее низким интеллектом. Дифференциация, по определению, дает звукорядный бихевиоризм.
Задача состоит в том, что необходимо составить файл формата TSV, состоящий из 4 колонок: слово из файла и три его случайных анаграммы. Для простоты анаграммы могут совпадать с самим словом или друг с другом. В итоге требуется получить файл table.tsv , который будет начинаться следующим образом:
субъект ъсукебт кутесъб кеубътс вызывает езтавыыв аыезыввт ывеаывзт мелодический скйчмеелидио диимечеслйок мкееийлчосид импульс млсупьи уьмипсл льмпиус пласт сатпл таслп тпалс .
Полный код для решения этой задачи может выглядеть следующим образом:
"""Эта программа собирает слова из text.txt и составляет список анаграмм из них в таблице table.tsv""" # Здесь мы импортируем модуль стандартной библиотеки random, в котором # содержаться функции для работы с псевдослучайными числами. # Правило хорошего тона — делать все импорты в начале вашей программы. import random def words_from_file(filename): """Принимает имя файла, а точнее его системный путь, и возвращает список слов в нем """ with open(filename, encoding='utf-8') as f: # открвываем файл text = f.read() # прочитываем весь файл в строковую переменную text = text.replace('-', '') # удаляем дефисы text = text.replace(',', '').replace('.', '') # удаляем запятые и точки # Тут можно было почистить текст еще лучше text = text.lower() # заменяем все заглавные на строчные words = text.split() # получаем список слов return words # возвращаем список слов def anа(word): """Возвращает случайную анаграмму word""" # Функция random.sample(sequence, count) возвращает список из count # уникальных элементов последовательности (например списка или строки) # взятых в случайном порядке. Заметим, что каждый элемент не может быть # больше одного раза, а также напомним, что элементами строки являются # односимвольные строки. a = random.sample(word, len(word)) # получаем список перемешанных букв new_word = ''.join(a) # объединяем элементы списка из букв в одну строку return new_word # возвращаем анаграмму def create_tsv_table(table_filename, words, n_anа): """Создает TSV-файл с именем table_filename со строками типа слово→анаграмма→анаграмма. где список слов задается аргументом words, а число анаграмм — n_ana """ with open(table_filename, 'w', encoding='utf-8') as f: # открываем файл для записи for x in words: # перебираем слова в переменной x f.write(x) # запишем слово в файл for i in range(n_ana): # n_ana раз создадим и запишем анаграмму f.write('\t') # запишем разделитель f.write(ana(x)) # запишем случайную анаграмму f.write('\n') # не забудем поставить символ конца строки перед следующей строкой def main(): words = words_from_file('text.txt') # получаем список слов create_tsv_table('table.tsv', words, 3) # создаем таблицу с тремя анаграммами в каждой строке if __name__ == '__main__': main()
Домашнее задание
Пусть какая-то функция получает на вход список из 30 случайных целых чисел от 0 до 100, сгенерированных с помощью модуля random. В вариантах описана функция.
+1 балл для всех: ответьте коротко на вопрос “Почему модуль random на самом деле НЕ генерирует случайные числа?”
- Функция берёт два случайных числа из этого списка (с помощью модуля random) и считает по ним количество всевозможных сочетаний этих чисел с точки зрения теории вероятности, С из n по k (использовать функцию из модуля math – factorial). Количество сочетаний (в формате float) печатается. k должно быть меньше n
- Функция возвращает произведение значений списка. Нужно пользоваться модулем math. Руководствоваться надо тем, что exp(log(a) + log(b)) = a * b
- Функция возвращает строку из 30 букв. Список, полученный на вход, задает порядок букв в строке по номеру буквы в алфавите.
- Функция берёт из списка 4 случайных числа, условно принимает их за две точки в двумерном пространстве и возвращает евклидово расстояние между этими точками. Использовать модули random и math.
- Функция перемешивает список с помощью random.shuffle(), сравнивает его с исходным списком и возвращает количество индексов, значение элемента по которым поменялось. Запустите функцию в цикле 100 раз и напечатайте в скольки процентов случаев меняются все элементы списка.
- Функция возвращает среднее геометрическое списка. Вомпользуйтесь модулем math. Отдельно вне функции покажите, что ее результат лежит между минимальным и максимальным значениями списка для 20 случаев. (Для это нужно на каждой итерации генерировать подаваемый на вход список заново)
- Функция возвращает среднее арифметическое элементов списка, округлённое вверх. Используйте модуль math.
Math — математические функции в Python
Эта статья посвящена математическим функциям в Python. Для выполнения математических операций необходим модуль math .
Что такое модуль?
В C и C++ есть заголовочные файлы, в которых хранятся функции, переменные классов и так далее. При включении заголовочных файлов в код появляется возможность не писать лишние строки и не использовать одинаковые функции по несколько раз. Аналогично в Python для этого есть модули, которые включают функции, классы, переменные и скомпилированный код. Модуль содержит группу связанных функций, классов и переменных.
Есть три типа модулей в Python:
- Модули, написанные на Python ( .py ).
- Модули, написанные на C и загружаемые динамически ( .dll , .pyd , .so , .sl и так далее).
- Модули, написанные на C , но связанные с интерпретатором.
import sys print(sys.builtin_module_names)
('_ast', '_bisect', '_codecs', '_codecs_cn', '_codecs_hk', '_codecs_iso2022', '_codecs_jp', '_codecs_kr', '_codecs_tw', '_collections', '_csv', '_datetime', '_functools', '_heapq', '_imp', '_io', '_json', '_locale', '_lsprof', '_md5', '_multibytecodec', '_opcode', '_operator', '_pickle', '_random', '_sha1', '_sha256', '_sha512', '_sre', '_stat', '_string', '_struct', '_symtable', '_thread', '_tracemalloc', '_warnings', '_weakref', '_winapi', 'array', 'atexit', 'audioop', 'binascii', 'builtins', 'cmath', 'errno', 'faulthandler', 'gc', 'itertools', 'marshal', 'math', 'mmap', 'msvcrt', 'nt', 'parser', 'signal', 'sys', 'time', 'winreg', 'xxsubtype', 'zipimport', 'zlib').
Для получения списка модулей, написанных на C , но связанных с Python, можно использовать следующий код.
Как видно из списка выше, модуль math написан на C , но связан с интерпретатором. Он содержит математические функции и переменные, о которых дальше и пойдет речь.
Функции представления чисел
ceil() и floor() — целая часть числа
Сeil() и floor() — функции общего назначения. Функция ceil округляет число до ближайшего целого в большую сторону. Функция floor убирает цифры десятичных знаков. Обе принимают десятичное число в качестве аргумента и возвращают целое число.
Пример:
# Импорт модуля math import math # Дробный номер number=8.10 # выводим целую часть числа с округлением к большему print("Верхний предел 8.10 это:",math.ceil(number)) # выводим целую часть числа с округлением к меньшему print("Нижний предел 8.10 это:",math.floor(number))
Верхний предел 8.10 это: 9 Нижний предел 8.10 это: 8
Функция fabs() — абсолютное значение
Функция fabs используется для вычисления абсолютного значения числа. Если число содержит любой отрицательный знак ( — ), то функция убирает его и возвращает положительное дробное число.
Пример:
# Импорт модуля math import math number = -8.10 # вывод абсолютного значения числа print(math.fabs(number))
factorial() — функция факториала
Эта функция принимает положительное целое число и выводит его факториал.
Пример:
# Импорт модуля math import math number = 5 # вывод факториала числа print("факториала числа", math.factorial(number))
факториала числа 120
Примечание: при попытке использовать отрицательное число, возвращается ошибка значения ( Value Error ).
Пример:
# Импорт модуля math import math number = -5 # вывод факториала числа print("факториала числа", math.factorial(number))
ValueError: factorial() not defined for negative values
Функция fmod() — остаток от деления
Функция fmod(x,y) возвращает x % y . Разница в том, что выражение x % y работает только с целыми числами, а эту функцию можно использовать и для чисел с плавающей точкой.
Пример:
# Импорт модуля math import math print(math.fmod(5,2)) print(math.fmod(-5,2)) print(math.fmod(-5.2,2)) print(math.fmod(5.2,2))
1.0 -1.0 -1.2000000000000002 1.2000000000000002
Функция frexp()
Эта функция возвращает мантиссу и показатель степени в виде пары ( m,n ) любого числа x , решая следующее уравнение.

Пример:
# Импорт модуля math import math print(math.frexp(24.8))
(0.775, 5)
Функция fsum() — точная сумма float
Вычисляет точную сумму значений с плавающей точкой в итерируемом объекте и сумму списка или диапазона данных.
Пример:
# Импорт модуля math import math # сумма списка numbers=[.1,.2,.3,.4,.5,.6,.7,.8,8.9] print("сумма ", numbers, ":", math.fsum(numbers)) # сумма диапазона print("сумма чисел от 1 до 10:", math.fsum(range(1,11)))
сумма [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 8.9] : 12.5 сумма чисел от 1 до 10: 55.0
Функции возведения в степень и логарифма
Функция exp()
Эта функция принимает один параметр в виде дробного числа и возвращает e^x .
Пример:
# Импорт модуля math import math print("e в степени 5 ", math.exp(5)) print("e в степени 2.5", math.exp(2.5))
e в степени 5 148.4131591025766 e в степени 2.5 12.182493960703473
Функция expm1()
Эта функция работает так же, как и exp , но возвращает exp(x)-1 . Здесь, expm1 значит exm-m-1 , то есть, exp-minus-1 .
Пример:
# Импорт модуля math import math print(math.exp(5)-1) print(math.expm1(5))
147.4131591025766 147.4131591025766
Функция log() — логарифм числа
Функция log(x[,base]) находит логарифм числа x по основанию e (по умолчанию). base — параметр опциональный. Если нужно вычислить логарифм с определенным основанием, его нужно указать.
Пример:
# Импорт модуля math import math # логарифм с основанием e print(math.log(2)) # логарифм с указанным основанием (2) print(math.log(64,2))
0.6931471805599453 6.0
Функция log1p()
Эта функция похожа на функцию логарифма, но добавляет 1 к x . log1p значит log-1-p , то есть, log-1-plus .
Пример:
# Импорт модуля math import math print(math.log1p(2))
1.0986122886681098
Функция log10()
Вычисляет логарифм по основанию 10.
Пример:
# Импорт модуля math import math print(math.log10(1000))
Функция pow() — степень числа
Используется для нахождение степени числа. Синтаксис функции pow(Base, Power) . Она принимает два аргумента: основание и степень.
Пример:
# Импорт модуля math import math print(math.pow(5,4))
625.0
Функция sqrt() — квадратный корень числа
Эта функция используется для нахождения квадратного корня числа. Она принимает число в качестве аргумента и находит его квадратный корень.
Пример:
# Импорт модуля math import math print(math.sqrt(256))
Тригонометрические функции
В Python есть следующие тригонометрические функции.
| Функция | Значение |
|---|---|
| sin | принимает радиан и возвращает его синус |
| cos | принимает радиан и возвращает его косинус |
| tan | принимает радиан и возвращает его тангенс |
| asin | принимает один параметр и возвращает арксинус (обратный синус) |
| acos | принимает один параметр и возвращает арккосинус (обратный косинус) |
| atan | принимает один параметр и возвращает арктангенс (обратный тангенс) |
| sinh | принимает один параметр и возвращает гиперболический синус |
| cosh | принимает один параметр и возвращает гиперболический косинус |
| tanh | принимает один параметр и возвращает гиперболический тангенс |
| asinh | принимает один параметр и возвращает обратный гиперболический синус |
| acosh | принимает один параметр и возвращает обратный гиперболический косинус |
| atanh | принимает один параметр и возвращает обратный гиперболический тангенс |
Пример:
# Импорт модуля math import math # функция синусы print("синус PI/2 :", math.sin(math.pi/2)) # функция косинуса print("косинус 0 :", math.cos(0)) # функция тангенса print("тангенс PI/4 :", math.tan(math.pi/4)) print() # функция арксинуса print("арксинус 0 :", math.acos(0)) # функция арккосинуса print("арккосинус 1 :", math.acos(1)) # функция арктангенса print("арктангенс 0.5 :", math.atan(0.5)) print() # функция гиперболического синуса print("гиперболический синус 1 :", math.sinh(1)) # функция гиперболического косинуса print("гиперболический косинус 0 :", math.cos(0)) # функция гиперболического тангенса print("гиперболический тангенс 1 :", math.tan(1)) print() # функция обратного гиперболического синуса print("обратный гиперболический синус 1 :", math.acosh(1)) # функция обратного гиперболического косинуса print("обратный гиперболический косинус 1 :", math.acosh(1)) # функция обратного гиперболического тангенса print("обратный гиперболический тангенс 0.5 :", math.atanh(0.5))
синус PI/2 : 1.0 косинус 0 : 1.0 тангенс PI/4 : 0.9999999999999999 арксинус 0 : 1.5707963267948966 арккосинус 1 : 0.0 арктангенс 0.5 : 0.4636476090008061 гиперболический синус 1 : 1.1752011936438014 гиперболический косинус 0 : 1.0 гиперболический тангенс 1 : 1.5574077246549023 обратный гиперболический синус 1 : 0.0 обратный гиперболический косинус 1 : 0.0 обратный гиперболический тангенс 0.5 : 0.5493061443340549
Функция преобразования углов
Эти функции преобразуют угол. В математике углы можно записывать двумя способами: угол и радиан. Есть две функции в Python, которые конвертируют градусы в радиан и обратно.
- degrees() : конвертирует радиан в градусы;
- radians() : конвертирует градус в радианы;
Пример:
# Импорт модуля math import math print(math.degrees(1.57)) print(math.radians(90))
89.95437383553924 1.5707963267948966
Математические константы
В Python есть две математические константы: pi и e .
- pi : это математическая константа со значением 3.1416..
- e : это математическая константа со значением 2.7183..
Пример:
# Импорт модуля math import math # вывод значения PI print("значение PI", math.pi) # вывод значения e print("значение e", math.e)
значение PI 3.141592653589793 значение e 2.718281828459045