Как разделить в питоне
Перейти к содержимому

Как разделить в питоне

  • автор:

Вычисле­ния в python

Хорошего дня! Сегодня мы научимся умножать, делить, вычитать. В каком смысле ты это уже умеешь?! А ты в этом уверен? В любом случае, повто­рение — это мать учения, так что устраивайся по-удобнее, мы начинаем.

Арифмети­ческие операции в python

Вы считаете, что арифме­тиче­ские операции — это просто? Пересчитайте. На самом деле, всё не так страшно, но рас­слабляться не стоит.

Начнём со всем знакомой чет­вер­ки:

print ( 10 + 10 )
# 10
print ( 10 — 5 )
# 5
print ( 11 * 7 )
# 77
print ( 10 / 2 )
# 5.0

Никаких неожиданностей, правда? Не совсем, посмотрите внимательно на операцию деле­ния. Заметили? Мы разделили целое число на его делитель, но несмотря на это, результат имеет тип float . Взглянем на операцию деления чуть более пристально:

print ( 10 / 2 )
# 5.0
print ( 100 / 3 )
# 33.333333333333336
print ( 21 / 4 )
# 5.25
print ( 23 / 7 )
# 3.2857142857142856

Обратите внимание на деление 100 / 3 . Выполнив эту операцию, мы получили очень интересный результат 33.333333333333336 . На конце 6 ?! Вспомним перевод числа в двоичную систему счисления. То есть мы можем представить любое число в виде ноликов и единичек, например:

37 = 2^5 + 2^2 + 2^0 = 100101 .

А как обстоит дело с дробями? Точно также:

0.75 = 0.5 + 0.25 = 1/2 + 1/4 = 0.11

Возникает вопрос, как пере­вес­ти в двоичную систему такие дроби: 1/3

1/3 = 1/4 + 1/8 + 1/16 + 1/32 + .

Это может продолжаться беско­неч­но долго. Поэтому python прерывает выполнение таких вычислений и часто выдает такие приколы:

print ( 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 )
# 0.7999999999999999
print ( 0.1 + 0.2 )
# 0.30000000000000004
print ( 7 / 3 )
# 2.3333333333333335

Еще немного математики. Математика в каждый дом!

# Возведение в степень
print ( 10 * * 2 )
# 100
print ( 2 * * 4 )
# 16
print ( 3 * * 0.5 )
# 1.7320508075688772
print ( 3 * * — 2 )
# 0.1111111111111111

# Остаток от деления
print ( 11 % 4 )
# 3
print ( 101 % 7 )
# 3
print ( 34 % 5 )
# 4

# Деление нацело
print ( 20 // 4 )
# 5
print ( 129 // 11 )
# 11
print ( 100 // 61 )
# 1

Операции сравнения в python

Операции сравнения в отличие от арифметические имеют всего два результата: True и False . Чаще всего такие операции используются в условии циклов, условных оператов, а также в некоторых функциях, например, filter .

# Операция равенства: True, если X равен Y
print ( 10 == 10 )
# True
print ( 666 == 661 )
# False

# Операция неравенства: True, если X не равен Y
print ( 666 != 661 )
# True
print ( 666 != 666 )
# False

# Операция больше: True, если X больше Y
print ( 120 > 2 )
# True
print ( 1000 > 1999 )
# False

# Операция меньше: True, если X меньше Y
print ( 121 120 )
# False
print ( 0 1 )
# True

# Операция меньше или равно: True, если X меньше или равен Y
print ( 6 6 )
# True
print ( 5 2 )
# False

# Операция больше или равно: True, если X больше или равен Y
print ( 1000 >= 10000 )
# False
print ( 9999 >= 9999 )
# False

Логические операции в python

Логические операции, как и операции сравнения, имеют всего два возможных результата: True и False . Используются для объединения операций сравнения в условиях циклов, условных оператов, а также в некоторых функциях, например, filter .

# Оператор «and» или конъюнкция.
# True, если и выражение X, и выражение Y равны True
print ( 10 == 10 and 10 > 2 )
# True
print ( 666 == 661 and 9 > 0 )
# False

# Оператор «or» или дизъюнкция.
# True, если или выражение X, или выражение Y равны True
print ( 666 == 661 or 9 > 0 )
# True
print ( 666 == 661 or 9 0 )
# False

# Оператор «not» или инверсия меняет значение на противоположное.
# True, если выражение X равно False
print ( not 120 > 2 )
# False
print ( not 1000 999 )
# True
print ( not ( 121 121 and 10 == 2 ))
# True

Округление чисел в python

Всё дело в округлении! В python есть несколько заме­ча­тель­ных функций, которые округ­ляют число до указанного знака. Одной из таких функций является round :

pi = 3.14159265358979323846264338327
print (round(pi, 1 ))
# 3.1
print (round(pi, 2 ))
# 3.14
print (round(pi, 3 ))
# 3.12
print (round(pi, 4 ))
# 3.1416
print (round(pi, 10 ))
# 3.1415926536
print (round(pi, 15 ))
# 3.141592653589793

Рассмотрим любопытный пример:

print (round( 2.5 ))
# 2
print (round( 3.5 ))
# 4

Если на вашем лице застыл немой вопрос: «почему?», то я вас понимаю. В школе нас учили, что дроби 1.1, 1.2, 1.3, 1.4 округляются до единицы, а 1.5, . 1.9 до двойки. Но python думает по-другому. Есть два типа округления: арифметическое и банковское. Именно арифметическому округлению вас учили в школе. Python использует как раз-таки банковское округление, его еще называют округлением до ближайшего четного. Приведу еще несколько примеров:

print (round( 10.51213 ))
# 11
print (round( 23.5 ))
# 24
print (round( 22.5 ))
# 22

Модуль math

Модуль math представляет собой набор математических формул. Рассмотрим несколько примеров:

print ( dir (math))
[‘__doc__’, ‘__loader__’, ‘__name__’, ‘__package__’, ‘__spec__’, ‘acos’,
‘acosh’, ‘asin’, ‘asinh’, ‘atan’, ‘atan2’, ‘atanh’, ‘ceil’, ‘copysign’,
‘cos’, ‘cosh’, ‘degrees’, ‘e’, ‘erf’, ‘erfc’, ‘exp’, ‘expm1’, ‘fabs’,
‘factorial’, ‘floor’, ‘fmod’, ‘frexp’, ‘fsum’, ‘gamma’, ‘gcd’, ‘hypot’,
‘inf’, ‘isclose’, ‘isfinite’, ‘isinf’, ‘isnan’, ‘ldexp’, ‘lgamma’, ‘log’,
‘log10’, ‘log1p’, ‘log2’, ‘modf’, ‘nan’, ‘pi’, ‘pow’, ‘radians’, ‘remainder’,
‘sin’, ‘sinh’, ‘sqrt’, ‘tan’, ‘tanh’, ‘tau’, ‘trunc’]
import math

# Синус 3.14 радиан
print (math. sin ( 3.14 ))
# 0.0015926529164868282

# Косинус 1.1 радиан
print (math. cos ( 1.1 ))
# 0.4535961214255773

# Возведение экспоненты в 3 степень
print (math. exp ( 3 ))
# 20.085536923187668

# Натуральный логарифм 61
print (math. log ( 61 ))
# 4.110873864173311

# Факториал четырех
print (math. factorial ( 4 ))
# 24

# Извлечение квадратного корня
print (math. sqrt ( 9 ))
# 3.0

# Алгоритм Евклида для чисел 20 и 19
print (math. gcd ( 20 , 19 ))
# 1

# Вычисление гипотенузы треугольника с катетами 3 и 4
print (math. hypot ( 3 , 4 ))
# 5.0

# Перевод радиан в градусы
print (math. degrees ( 1.572 ))
# 90.06896539456541

# Факториал четырех
print (math. fmod ( 20 , 3 ))
# 24

И это далеко не всё! Остальные функции я предлагаю вам протестировать самостоятельно : )

Деление в Python

Python — популярный высокоуровневый язык программирования. Он обладает большим набором инструментов, имеет динамическую типизацию и используется для решения любых видов задач.

Деление в Python разделяется на три вида: обычное, целочисленное и взятие остатка. Программисту не нужно заботиться о типах операндов, Python сам определяет их и приводит результат к нужному виду. Как это делается, разберемся в этой статье.

Оператор деления

Деление в Python обозначается косой чертой «/». Примечательно, что результат в консоле всегда приводится к типу «float», даже если оба операнда были целочисленного типа, об этом свидетельствует появление «.0» у полученного значения.

Это появилось в 3-ей версии Python, ранее результатом деления целых чисел было только целое число, чтобы получить дробный результат, программисты явно указывали одному из операндов тип «float», в противном случае дробная часть просто отбрасывалась.

Важно понимать, что деление в Python, как и другие операции, работает медленнее, чем в более низкоуровневых языках программирования. Это связано с высоким уровнем автоматизации и абстракции, из-за динамической типизации интерпретатор вынужден приводить числа к дробному типу «float», который требует большего количества памяти.

Деление в представлении человека отличается от его представления в компьютере. Компьютер устроен так, что все арифметические операции могут выполняться только через сложение. Это значит, что быстрее всего выполняется сложение, затем вычитание, где необходимо менять знак операндов, умножение, где число складывается много раз. Деление выполняется дольше всех, потому что помимо многократно повторяющейся операции сложения необходимо также менять знак операндов, что требует больше памяти и действий.

Из примера видно, что не смотря на то, что во всех случаях операция была между целыми числами, результатом деления в Python 3 является вещественное число. В первом случае мы даже специально использовали приведение к типу int.

Деление без остатка

Чтобы выполнить деление на цело в Python, можно воспользоваться целочисленным делением. В этом случае результатом будет целое число, без остатка. Целочисленное деление в Python обозначается двумя косыми чертами «//».

В отличие от других языков программирования Python позволяет результату целочисленного деления быть как целым (int), так и дробным (float) числом. В обоих случаях дробная часть отбрасывается и получается число с окончанием «.0».

Примеры нахождения целой части от деления:

В первых двух случаях деление осуществлялось между целыми числами. Поэтому в результате было получено целое число. В третьем примере одно из чисел вещественное. В этом случае в результате получаем так же вещественное число (типа float), после запятой у которого 0.

Остаток

Для получения остатка от деления в Python 3 используется операция, обозначающаяся символом процента «%». Остаток — это оставшаяся после целочисленного деления часть числа. Операция взятия остатка используется для решения различных видов задач.

Определение остатка от деления очень часто используется в программах для нахождения, допустим, чётных чисел. Или, например, если обработка данных выполняется в цикле, и нужно выводить в консоль сообщение о ходе обработки не каждый раз, а на каждой 10-ой итерации.

Вот пример вывода чётных чисел из списка в консоль:

Проблемы чисел с плавающей точкой

Компьютер устроен так, что на аппаратном уровне понимает только две цифры: один и ноль. Из-за этого при делении и других операциях с дробями часто возникают проблемы. Например, 1/10 в двоичном представлении является неправильной бесконечной дробью. Её нельзя написать полностью, поэтому приходится округлять, а выбор значения при округлении ограничен нулем и единицей.

Что говорить о делении, если ошибки возникают и при операции сложения. Если сложить число «0.1» с самим собой четырнадцать раз, то получиться 1.400…01. Откуда взялась эта единица? Она появилась при переводе числа из двоичного вида в десятичный.

Более технически сложное деление приводит к подобным неточностям гораздо чаще. Обычно Python округляет результат так, что пользователь не замечает этой проблемы, но если получается достаточно длинное число, то проблема проявляется.

Деление комплексных чисел

Комплексные числа — это числа вида «a + b·i». Они занимают наивысшую ступень в иерархии чисел, арифметические операции над ними существенно отличаются от операций над обычными числами.

Деление комплексного числа на обычное меняет лишь длину радиус вектора, но не его направление.

Сокращенные операции деления

Чтобы упростить жизнь программистов, разработчики Python включили в язык «сокращенные операции». Их используют если надо выполнить операцию над переменной и полученный результат записать в эту же переменную. То, что записывается в длинной форме, можно записать в более короткой по следующим правилам:

Полная форма Краткая форма
Деление a = a / b a /= b
Целая часть a = a // b a //=b
Остаток a = a % b a %= b

Деление на ноль

Если попробовать в Python выполнить деление на 0, то мы получим исключение ZeroDivisionError.

Исключение следует обрабатывать, это можно сделать так:

Но в этом случае мы обрабатываем все исключения. Зачастую так делать не совсем корректно. Мы знаем, что в нашем коде возможно деление на 0 и, чтобы отловить именно эту ошибку, следует заменить except Exception as e: на except ZeroDivisionError as e: .
Но можно и проверять перед выполнением операции, что делитель не равен 0. Например так:

Целочисленная арифметика¶

Специальный символ, выполняющий арифметические вычисления. В выражении a * b символ * — оператор умножения, a и b — его операнды.

Оператор, принимающий два операнда, называется бинарным. Унарный оператор принимает один операнд. Пример унарного оператора: -1 .

Последовательность операторов и операндов, результат вычисления которой сводится к единственному значению. Простейшие выражения состоят из одного значения и не содержат операторов: 42 , "Hello, World!" . Пример более сложного выражения: 2 ** 32 — 1 .

Свойство оператора, влияющее на очередность его выполнения в выражении с несколькими различными операторами при отсутствии явного (с помощью скобок) указания на порядок их вычисления.

Например, результат выражения 2 + 2 * 2 — 6, поскольку приоритет операции умножения выше, чем приоритет операции сложения. Изменить порядок вычислений в выражении можно с помощью скобок:

последовательность выполнения операций (или направление вычисления), реализуемая когда операции имеют одинаковый приоритет и отсутствует явное (с помощью скобок) указание на очерёдность их выполнения.

Различают правую (справа налево) и левую (слева направо) ассоциативность. Пример оператора с левой ассоциативностью — оператор деления / . Так, выражение 8 // 4 // 2 эквивалентно (8 // 4) // 2 и его результат равен 1.

Пример оператора с правой ассоциативностью — оператор возведения в степень:

Арифметические операторы¶

В таблице приведены некоторые арифметические операторы языка Python в порядке уменьшения приоритета (операторы с наибольшим приоритетом расположены выше).

Возведение в степень

Унарные плюс и минус

Сложение и вычитание

Целочисленное деление и взятие остатка от деления¶

Рассмотрим выражение \(7 / 2\) . Частное можно записать в виде десятичной дроби: \(3.5\) . Однако в ряде задач нам нужны отдельно целая часть и остаток от деления. Очевино, целая часть результата равна \(3\) . Тогда для вычисления остатка от \(7\) нужно отнять произведение целой части на делимое, т.е. остаток равен \(7 — 3 \cdot 2\) .

Такие операции поддерживаются в Python напрямую. Так, для целочисленного деления используется оператор // , а для получения остатка от деления оператор % :

Эти операции полезны при вычислениях с отдельными разрядами чисел.

Пусть дано число \(8192\) , и нам необходимо получить его третий разряд, т.е. единицу. \(8192 // 10^2 \% 10 = 8192 // 100 \% 10 = 81 \% 10 = 1\) .

Функции перевода чисел в различные системы счисления¶

Функции принимают целое число и возвращают его строковое представление в двоичной, восьмеричной и шестнадцатеричной системах счисления соответственно.

С этой функцией мы познакомились на прошлом занятии. Сейчас дополним, что вторым аргументом она может принимать основание системы счисления, в которой записано число x :

Задачи¶

Дано целое десятичное число. Выведите его последнюю цифру.

Дано целое десятичное число. Найдите число десятков в его десятичной записи.

Дано трехзначное число. Найдите сумму его цифр.

Пирожок в столовой стоит \(a\) рублей и \(b\) копеек. Определите, сколько рублей и копеек нужно заплатить за \(n\) пирожков.

Приложение запрашивает у пользователя стоимость одного пирожка и количество пирожков. Пример:

Приложение должно вычислить стоимость запрошенного количества пирожков. Пример вывода:

Дано число \(n\) . С начала суток прошло n минут. Определите, сколько часов и минут будут показывать электронные часы в этот момент. Программа должна вывести два числа: количество часов (от 0 до 23) и количество минут (от 0 до 59). Учтите, что число \(n\) может быть больше, чем количество минут в сутках.

Дополнительные задачи¶

В школе решили набрать три новых математических класса. Так как занятия по математике у них проходят в одно и то же время, было решено выделить кабинет для каждого класса и купить в них новые парты. За каждой партой может сидеть не больше двух учеников. Известно количество учащихся в каждом из трёх классов. Сколько всего нужно закупить парт чтобы их хватило на всех учеников? Программа получает на вход три целых десятичных числа: количество учащихся в каждом из трех классов.

Обувная фабрика собирается начать выпуск элитной модели ботинок. Дырочки для шнуровки будут расположены в два ряда, расстояние между рядами равно \(a\) , а расстояние между дырочками в ряду \(b\) . Количество дырочек в каждом ряду равно \(N\) . Шнуровка должна происходить элитным способом «наверх, по горизонтали в другой ряд, наверх, по горизонтали и т.д.» (см. рисунок). Кроме того, чтобы шнурки можно было завязать элитным бантиком, длина свободного конца шнурка должна быть \(l\) . Какова должна быть длина шнурка для этих ботинок?

Программа получает на вход четыре натуральных числа \(a\) , \(b\) , \(l\) и \(N\) и должна вывести одно число — искомую длину шнурка.

3. Занятия в школе начинаются в 9:00. Продолжительность урока — 45 минут, перемены — 10 минут. На вход принимается номер урока, а выводится время, в которое он заканчивается (часы и минуты отдельно). Пример вывода:

4. Доработайте код задачи № 3 таким образом, чтобы он запрашивал время начала занятий (минуты и часы отдельно) и номер урока, а далее также рассчитывал время окончания уроков.

5. Пользователь вводит число и систему счисления этого числа. Программа переводит число в десятичную, двоичную, восьмеричную и шестнадцетеричную системы счисления с использованием стандартных функций. Пример вывода:

Домашнее задание¶

Дано трехзначное число. Найти произведение его цифр.

Даны значения двух моментов времени, принадлежащих одним и тем же суткам: часы, минуты и секунды для каждого из моментов времени. Известно, что второй момент времени наступил не раньше первого. Определите, сколько секунд прошло между двумя моментами времени.

Числа и математические функции в Python

Говоря о числах, мы пройдемся по наиболее часто используемым математическим операторам, которые нужны для выполнения простых арифметических операций с числами в Python. А в разделе «Математические функции» познакомимся с функциями, которые будут очень полезны при вычислении сложных математических выражений: возведение в степень, синус/косинус, факториалы и т. д. Приступим.

Перед прочтением статьи рекомендуем открыть IDLE. По ходу чтения копируйте примеры и прогоняйте их через компилятор, чтобы на практике понять, как работает тот или иной оператор или функция.

Числа

Python есть 6 основных «математических» операторов:

  1. сложение;
  2. вычитание;
  3. умножение;
  4. деление;
  5. возведение в степень.
  6. остаток от деления (mod);
  7. целочисленное деление (div).

Большинство из вас должно быть знакомо со всеми вышеперечисленными операторами, кроме оператора взятия остатка от деления и целочисленного деления. Не волнуйтесь, мы поговорим об этом. Начнем с начала.

Сложение

Несложно догадаться, что делает этот оператор: он просто складывает числа. Чтобы проверить, как это работает, просто перейдите в IDLE и введите число, затем знак сложения + (плюс), а затем еще одно число, которое нужно добавить к первому числу. Нажмите Enter. Это должно выглядеть так, как показано ниже.

Пример: сложим 8 и 19.

После нажатия клавиши Enter чуть ниже строки кода появится ответ. Вывод так и будет отображаться каждый раз — чуть ниже кода. Нажимаете Enter — получаете результат.

Не останавливайтесь на этом примере, попробуйте использовать оператор сложения с другими числами. Например, попробуйте сложить числа с плавающей точкой: 4.5 + 5.5 и т. д.

У вычитания такой же синтаксис, как и у сложения. Просто измените оператор на знак вычитания — (минус). Так же выберите случайные числа и попробуйте вычесть одно из другого.

Пример: вычтем из 89.33 число 23.67. Ответ 65.55.

Умножение

Опять то же самое! Просто измените оператор на * (звездочку). Вы ведь знаете, что он используется для умножения, верно? Попробуйте использовать оператор в IDLE.

Пример: возьмите любые два числа и умножьте их с помощью оператора умножения, как показано ниже.

Деление

На этот раз нам понадобится знак / (слэш). Попробуйте использовать оператор со случайными числами.

Если вы новичок, то можете столкнуться с некоторыми трудностями. Какими? Сейчас узнаем. Для начала возьмем целые числа (числа без десятичной дроби), например 16 и 2, и разделим одно на другое.

Возведение в степень

Этого математического оператора обычно в языках программирования нет. Честно говоря, языков со встроенным возведением в степень, кроме Python, и не припомнить. В других языках для возведения в степень используют другие операторы. В Python же для этого достаточно поставить между двумя числами ** (две звездочки). Правое число возведется в степень, равную левому числу. Например, чтобы найти 10 степень числа 2, нужно написать:

Теперь мы знаем обо всех часто используемых математических операторах Python. Попробуйте объединить несколько операторов и использовать их в одном выражении. Например, введите ((2**5)*10)/3 . Python должен вывести 106.66666666666667 .

Взятие остатка от деления

Оператор взятия остатка от деления в Python обозначается % (знак процента). Если вам знакомы другие языки программирования, скорее всего, вы знаете, что такое взятие остатка от деления. В других языках этот оператор часто называют mod. Если вы с ним еще не знакомы, ничего страшного.

Вы ведь знаете оператор деления, так? Тогда вы знаете, каков будет остаток от этого деления, верно? Этот оператор как раз и возвращает этот остаток в качестве ответа. Целая часть как бы откидывается. Вот несколько примеров.

  • 12%2 = 0 , так как 12 полностью делится на 2.
  • 13%2 = 1 , так как остаток от деления 13 на 2 равен 1.
  • 19%5 = 4 , так как, опять же, остаток от деления 19 на 5 равен 4.

В IDLE все так же:

Целочисленное деление

Этот оператор в Python обозначается знаком // (двумя слэшами), в других языках его называют div. Оператор откидывает остаток и оставляет только целую часть. Вот как это работает:

  • 13//2 = 6 , так как 13/2 = 6.5
  • 19//5 = 3 , так как 19/5 = 3.8

Попробуйте использовать целочисленное деление со случайными числами в своей IDLE.

Математические функции

Когда вы узнаете о Python побольше, возможно, вам захочется создать «научный калькулятор» в качестве проекта. Для этого кроме простых математических операций вам придется реализовать математические функций: тригонометрические, логарифмические и так далее. Но даже если мы забудем о создании продвинутого калькулятора, в жизни программиста достаточно ситуаций, когда вам могут понадобиться эти функции.

Например, если вы создаете ПО для инженеров-строителей — им математические функции нужны для расчета различных параметров в конструкции, которую они строят. Или, например, аэрокосмическое ПО для расчетов траектории спутника и так далее. Короче говоря, сложные математические функции используются в совершенно различных реальных программах, так что знать о них нужно.

В Python хорошие ребята уже написали код практически для всех математических функций и добавили их в библиотеки. Так что вам вручную писать функции не придется, вы можете без зазрения совести использовать готовые решения.

Подробнее о функциях в Python мы поговорим в другой статье. Здесь мы лишь немного коснемся этого вопроса.

Функция — это фрагмент кода, который принимает (или не принимает) в качестве входных данных некоторые значения, обрабатывает их, а затем возвращает (или не возвращает) некое значение в качестве выходных данных.

Как вы можете увидеть на рисунке выше, на вход функции подается x , а на выходе функция f выводит значение f(x) . В целом, функции не обязательно принимать что-то на вход или выводить что-то. Но для математической функции важно и то, и другое. Например, чтобы вычислить sin(x) обязательно нужно значение x .

В Python есть два типа функций.

  • Встроенные функции — это функции, для которых не требуется никаких сторонних файлов кода (они же модули или библиотеки). Они — часть Python и генерируются в компиляторе Python, поэтому ничего импортировать для их использования не нужно.
  • Пользовательские функции требуют внешних файлов, их называют модулями. Использование этих внешних файлов в вашем коде называется импортом. Все, что вам нужно сделать, чтобы использовать функции из библиотека, это импортировать их в ваш код.

Пришло время протестировать математические функции. Начнем со степенных функций!

Возведение в степень — pow(x, y)

Я знаю, о чем вы думаете. Мы же только что возводили числа в степень, так? Так. Но тогда мы возводили число в степень при помощи оператора, а это — встроенная функция. Это альтернативный способ возведения в степень.

Поскольку это встроенная функция, импортировать никаких библиотек не нужно. На вход функция pow(x, y) принимает два числа — основание и показатель степени.

Откройте IDLE и напишите:

Теперь проанализируем, что мы написали и что сделает Python. Сначала мы ввели pow — это просто имя функции, которую мы пытаемся вызвать. Это укажет компилятору Python найти встроенную функцию с именем pow и определить, что она может делать. Далее в скобках мы написали два числа через запятую: 3 и 2. Первое число — 3 — основание, а второе — 2 — показатель степень. Иначе говоря, мы пытаемся возвести 3 во вторую степень.

Как только компилятор Python убедится, что синтаксис верен, он начнет искать реализацию функции pow и выведет ответ: 9.

Теперь вы знаете, как вызывать функции. В случае с математическими функциями в общем виде это выглядит следующим образом:

Значения в скобках, разделенные запятыми, называются аргументами. В функции pow(x, y) в примере выше аргументами являлись 3 и 2. В функции может быть любое количество аргументов. У математических функций, как правило, есть как минимум один аргумент. Давайте рассмотрим другие встроенные математические функции.

Модуль — abs(x)

Функция модуля возвращает неотрицательное значение аргумента. Иначе говоря, она не меняет неотрицательные значения, а отрицательные значения делает положительными.

Пример: модуль -3 равен 3, модуль -8.74 равен 8.74 и так далее.

Синтаксис

Так как -99.99 — отрицательное число, выводом будет положительное число — 99.99.

Теперь давайте попробуем некоторые функции, для использования которых нужно импортировать библиотеку.

Синус — sin(x)

Синус — тригонометрическая функция, она принимает только одно значение в качестве аргумента — x . Аргумент должен быть выражен в радианах, не путайте со степенью. Как мы уже сказали, эту функцию не получится использовать напрямую. Если вы попытаетесь вызвать функцию sin(x), получите сообщение об ошибке.

Дело в том, что компилятор не знает, что ему делать, когда он встречает функцию sin() , поскольку мы ее не определили. Чтобы использовать ее, придется импортировать математический модуль Python, в котором в том числе есть уже реализованная функция sin() , которая поможет компилятору понять, что делать, когда он встречает эту функцию.

То, что мы сейчас сделаем, называется импортом модуля. Для этого потребуется написать такую строку:

Жмем Enter, и готово! Теперь, чтобы использовать функцию sin(), перейдите в новую строку и введите:

Поскольку 3.14159 это приблизительно π , ответ будет близок к нулю.

Как вы можете видеть, ответ такой — 2.653589335273e-6 . Он может показаться немного пугающим, но на самом деле, это всего лишь значит следующее: 2.653589335273 × 10^-6 , что равно 0.000002653589335273 . Действительно близко к нулю.

В математическом модуле есть еще ряд полезных математических функций: floor() , exp() , log() , sqrt() и многие другие. Их полный список и количество аргументов, которые они принимают на вход, можно найти на официальном сайте Python в разделе Mathematical Functions.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *