Как умножить в питоне

  • автор:

Осваиваем Python: математические операции

В этом руководстве мы будем работать с двумя типами данных в Python – целыми числами ( integer) и числами с плавающей точкой ( floats) :

  • Целые – числа без дробной части, которые могут быть положительными, отрицательными или нулём (…, -1, 0, 1, …).
  • С плавающей точкой – это числа, содержащие десятичную точку (например, 9.0 или -2.25).

В этой статье будут описаны операции с числовыми типами данных в Python.

Математические операторы Python 3

Оператор – это символ, которая обозначает операцию. Например, в математике знак плюса или + – это оператор сложения.

Мы рассмотрим схожие операторы, которые перешли в Python из математики. Но другие операторы специфичны именно для программирования.

Ниже представлена таблица с кратким обзором математических операторов, доступных в Python.

Операция Возвращаемое значение
x + y Сумма x и y.
x — y Разность x и y.
-x Изменение знака x.
+x Тождественность x.
x * y Произведение x и y.
x / y Частное от деления x на y.
x // y Частное от целочисленного деления x на y.
x % y Остаток от деления x / y.
x ** y x в степени y.

Сумма в питоне и разность в питоне

В Python операторы суммы и разности выполняют те же операции, что и в математике. Поэтому вы можете использовать этот язык программирования как калькулятор.

Рассмотрим некоторые примеры. Начнём с целых чисел:

Вместо передачи целых чисел напрямую в функцию print мы можем инициализировать переменные для этих значений:

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

Прибавление работает аналогично и с числами с плавающей запятой:

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

В этом примере мы вычитаем целое число из числа с плавающей точкой. Python возвратит число с плавающей точкой, если хотя бы одно из чисел выражения является числом с плавающей точкой.

Унарные арифметические операции Python

Унарное математическое выражение состоит из одного элемента. Знаки плюса и минуса в питоне могут быть использованы как единичный оператор, чтобы вернуть тождественное значение (+) или сменить знак числа (-).

Знак плюса означает тождественное значение. Мы можем использовать его с положительными значениями:

Когда мы используем знак плюса с отрицательным значением, он также вернёт значение тождественное данному. В этом случае он вернёт отрицательное значение:

При использовании с отрицательным значением знак плюса возвращает то же отрицательное значение.

Минус (в отличие от знака плюса) изменяет знак числа. Поэтому при передаче положительного числа мы получим отрицательное значение:

А когда мы используем минус в качестве унарного оператора с отрицательным значением, будет возвращено положительное число:

Унарные арифметические операторы возвращают тождественное значение в случае с +i, или противоположное по знаку число в случае с -i.

Умножение и деление в питоне

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

Когда вы выполняете деление в Python 3, частное всегда будет числом с плавающей точкой, даже если вы используете два целых числа:

Это одно из наиболее существенных отличий Python 2 от Python 3. В Python 3 результатом будет дробное число. Поэтому, когда вы используете оператора «/» для деления 11 на 2, возвращено будет 5.5. В Python 2 возвращаемое значение деления 11 / 2 было 5.

В Python 2 оператор «/» выполняет целочисленное деление , где частное x, а возвращаемое число – это наибольшее целое число, меньшее или равное x. Если вы выполните пример, приведённый выше, в Python 2, то получите 16 без десятичной точки.

Целочисленное деление python 3 использует оператор «//». Выражение 100 // 40 вернёт значение 2.

Деление с остатком Python

Оператор % используется для деления по модулю, и возвращает остаток от деления, а не частное. Это полезно, например, для нахождения множителей числа.

Деление по модулю Python (с остатком) — пример:

В этом примере 85 делится на 15. Результат – 5 с остатком 10. Значение 10 выводится, поскольку оператор возвращает остаток от деления.

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

В приведенном выше примере 36.0 делится на 6.0 без остатка, поэтому возвращается значение 0.0.

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

Оператор «**» в Python используется для возведения числа, расположенного слева от оператора в степень, указанную справа. То есть, в выражении 5 ** 3, число 5 возводится в третью степень.

В математике часто используется выражение 5³. То есть 5 умножается на себя три раза. В Python мы получим тот же результат (125) выполнив 5 ** 3 или 5 * 5 * 5.

Пример с переменными:

Возведение числа с плавающей точкой 52.25 в степень 7 с помощью оператора ** приводит к выводу большого числа с плавающей точкой.

Приоритет операторов

Операторы Python выполняются в порядке приоритета. Посмотрим на следующее выражение:

Умножение выполняется первым. Поэтому, если мы вызовем метод print(u) , то получим следующее значение:

Это потому, что 10 * 5 равно 50 , а затем мы прибавляем 10 , чтобы получить 60 .

Если нужно было сложить 10 и 10 , и умножить сумму на 5 , то пришлось бы использовать скобки, как в математике:

Операторы присваивания Python

Оператор «=» присваивает значение, расположенное справа, переменной слева. Например, v = 23 присваивает значение числа 23 переменной v.

В программировании часто используют составные операторы присваивания. Они соединяют арифметический оператор с оператором «=». Поэтому для сложения мы используем оператор «+» с оператором «=», чтобы получить составной оператор «+=». Пример:

Сначала мы задаём переменной w значение 5 . Затем используем составной оператор присваивания += , чтобы прибавить число справа, к переменной, расположенной слева, и присвоить результат переменной w .

Составные операторы присваивания часто используются в циклах for:

При помощи for можно автоматизировать процесс использования оператора « *=» . Он умножает переменную w на число 2 , а затем присваивает полученный результат переменной w для следующей итерации цикла.

В Python предусмотрен составной оператор присваивания для каждой арифметической операции:

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

Заключение

В этой статье рассмотрены операторы, которые используются для математических операций с целыми и дробными десятичными числами.

Пожалуйста, оставьте свои отзывы по текущей теме статьи. Мы очень благодарим вас за ваши комментарии, дизлайки, подписки, лайки, отклики!

Пожалуйста, оставьте ваши комментарии по текущей теме статьи. Мы очень благодарим вас за ваши комментарии, отклики, лайки, подписки, дизлайки!

Сергей Бензенко автор-переводчик статьи « How To Do Math in Python 3 with Operators »

Базовые математические операции в Python

У мение эффективно применять математические операции в рамках программирования – важный навык, который необходимо развивать, потому как с числами предстоит работать постоянно. Алгоритмы, функции, теория множеств, алгебра логики, комбинаторика и статистика — программисты пользуются ими регулярно и повсеместно.

Но не всё так страшно. Да, понимание математики на высоком уровне помогает стать высококвалифицированным программистом, но оно не является для этого обязательным условием. Тем не менее базовые вещи знать придётся. А в основе всех мощных математических инструментов лежат простые и понятные операции.

Сложение (+)

И самая простая и понятная из них — сложение. Никаких "подводных камней": берём два или более чисел, пишем между ними знак " + " и присваиваем результат выражения переменной (или сразу выводим сумму на экран):

x = 5 y = 3 z = x + y print(z) > 8

Сложим несколько вещественных чисел и выведем их на экран без предварительной инициализации результирующей переменной:

q = 4.5 w = 2.5 e = 2.5 r = 0.5 print(q + w + e + r) > 10.0

Вообще говоря, если хотя бы одно из слагаемых — число вещественное, то вещественным будет и весь результат.

Вычитание (-)

Вычитание – это обратная операция сложению. Оператором выступает знак "-":

a = 15 b = 25 c = a — b print(c) > -10

С вещественными числами здесь та же ситуация: если хотя бы один операнд имеет тип float , то и результат будет float :

i = 10 j = 5 k = 0.0 # вещественный ноль print(i — j — k) > 5.0 print(type(i — j — k)) > <class 'float'>

Умножение (*)

Как и две предыдущие операции, умножение в Python не таит в себе никаких скрытых или неочевидных особенностей. Умножаем два или более чисел при помощи оператора "звёздочка" ( * ):

# в этот раз обойдёмся без создания переменных print(2 * 2) > 4 print(2 * 2.0) > 4.0 print(10000 * 0) > 0 print(-33 * 3) > -99

Деление (/)

Сложение, вычитание и умножение тривиальны, а вот с делением не всё так просто. В Python существует три вида деления и столько же разных операторов. Начнём с истинного деления, за которое отвечает оператор " / ". Его главным отличием является то, что, вне зависимости от типов операндов, будет возвращен вещественный результат ( float ).

print(8/2) > 4.0 # делимое и делитель — int числа, а частое — float print(type(8/2)) > <class 'float'> print(8/3) > 2.6666666666666665

Этот вид деления наиболее близок к обычному и знакомому нам математическому. И здесь тоже нельзя делить на ноль:

print(8/0) > ZeroDivisionError: division by zero

�� Немного истории. В старых версиях Питон оператор "/" выполнял операцию классического деления: т.е. он делил целочисленно и усекал дробную часть в том случае, когда делимое и делитель были целыми. Если же операнды принадлежали к множеству вещественных чисел, то проводилось деление с сохранением дробной части, и результат был float.

Разработчики отказались от классического деления в Python 3.0 и вместо него добавили истинное деление. Архитекторы языка пошли на такой шаг по той причине, что в предыдущей модели классического деления результаты напрямую зависели от типов операндов. Из-за этого возникали трудности с их предварительной идентификацией и оценкой, что было особенно критично для Питона, как для языка с динамической типизацией.

Целочисленное деление (//)

Оператор " // " возвращает int , если оба операнда — целые числа, и float — если хотя бы один операнд является вещественным числом. В любом из вариантов дробная часть будет отброшена, а результат округлён вниз.

print(15//2) # видно, что результат округлился в меньшую сторону > 7 # и остался целочисленным, поскольку и делимое, и делитель — int числа print(type(15//2)) > <class 'int'>

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

Об округлении вниз важно помнить, когда работа идёт с отрицательными числами:

print(5//-2) > -3 print(5//2) > 2

На ноль всё ещё нельзя делить:

print(15//0) > ZeroDivisionError: integer division or modulo by zero

Остаток от деления (%)

Остаток от деления ещё называют делением по модулю. Оператор " % " сначала делит, а затем возвращает остаток.

print(21 % 3) > 0 print(21 % 5) > 1 print(21 % 0) > ZeroDivisionError: integer division or modulo by zero

Остаток может не быть целочисленным:

print(21.3 % 3) > 0.3000000000000007

Но вся прелесть данного оператора заключается не в возвращаемом им значении остатка.

Главная фишка деления по модулю в том, что с его помощью легко проверяется факт делимости одного числа на другое

А отсюда вытекают и проверки на чётность/нечётность:

import random def parity_check(num): """ функция, проверяющая четность числа. Любое четное число делится на 2 без остатка. """ if num % 2 == 0: return 'Число чётное' else: return 'Число нечётное' # сгенерируем случайное число и проверим работу функции rnum = random.randint(0, 100) print(rnum) print(parity_check(rnum)) > 62 > Число чётное

�� Проверка числа на чётность/нечётность будет часто встречаться в вашей работе.

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

Нетипичный оператор для большинства других языков программирования. Тем он и удобен. Парная "звёздочка" ( ** ) выполняет классическое математическое возведение числа "a" в степень "b":

a = 2 b = 10 print(a ** b) > 1024

И показатель степени, и основание могут быть отрицательными:

a = 10 b = -2 print(a ** b) > 0.01 a = -10 b = 3 print(a ** b) > — 1000

# степень 0.5 аналогична квадратному корню a = 100 b = 0.5 print(a ** b) > 10.0 a = 0.5 b = 2 print(a ** b) > 0.25

Операндов у возведения в степень также может быть несколько. В таком случае, оператор " ** " работает, как право-ассоциативный (т.е. операции выполняются справа-налево):

print(2 ** 2 ** 3) # Сначала выполняется 2 ** 3, а затем уже 2 ** 8. > 256

В завершении — про приоритет операций. Если в выражении используются разные операторы, то порядок их выполнения будет следующим:

Числа и арифметические операторы Python

Числа очень часто применяются в программирование для ведения счета в играх, представления данных в визуализации, хранение информации и т.д.

Содержание страницы:
1. Типы чисел
2. Арифметические операторы
2.1. Сложение и вычитание
2.2. Умножение
2.3. Возведение в степень
2.4. Деление
2.5. Деление с округлением
2.6. Оператор вычисления остатка от деления
3. Исключения и трассировка

1. Типы чисел в Python.

В Python числа делятся на несколько категорий в соответствии со способом их использования. Основные это целые числа ( int ) и вещественные ( float ) или числа с плавающей точкой. Чтобы узнать к какому типу относится число или переменная, можно воспользоваться встроенной функцией type() . Запустите командную строку и активируйте Python. В скобках введите число или переменную, чтобы узнать ее тип.

Значение 12,5 является числом с плавающей точкой, поэтому Python выводит строку float . Переменная x содержит целое число 10, поэтому Python выводит тип int (сокращение от integer).

2. Арифметические операторы Python.

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

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

Операции Python Арифметический оператор Алгебраическое выражение Выражение Python
Сложение + a + b a + b
Вычитание a — b a — b
Умножение * a · b a * b
Возведение в степень ** x y a ** b
Деление / x / y x / y
Целочисленное деление // [ x / y ] x // y
Остаток от деления % r mod s r % s

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

Сложение и вычитание в целом выполняется и записывается, как и обычно в алгебре.

>>> 5 + 2
7
>>> 5 — 2
3

2.2. Умножение в Python ( * )

В Python в качестве оператора умножения используется знак * (звездочка)

2.3. Возведение в степень в Python ( ** )

В Python для возведения в степень используются два знака ** .

>>> 5 ** 6
15625
>>> 81 ** (1/2)
9.0

Для вычисления квадратного корня можно воспользоваться показателем степени 1/2. Корень 81 = 9.

2.4. Деление в Python ( / )

Оператор деления ( / ) делит числитель на знаменатель

>>> 10 / 2
5.0
>>> 10 / 8
1.25

Важно, при делении двух любых чисел — даже если это целые числа, частным от деления которых является целое число, вы всегда получаете вещественное число.

2.5. Деление с округлением в Python ( // )

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

>>> 10 // 8
1
>>> 20 // 8
2
>>> — 17 // 4
-5

При обычном деление 10 на 8, получается результат 1,25. Python отсекает дробную часть и в итоге получаем 1.

2.6. Оператор вычисления остатка от деления ( % )

Для вычисления остатка от деления в Python используется оператор вычисления остатка от деления %

>>> 21 % 5
1
>>> 18 % 4
2

В данных примерах при делении 21 на 5, получается частное 4 и остаток 1. Во втором случае при делении 18 на 4, получается 4 и остаток 2. Этот оператор чаще работает с целыми числами, но также может использоваться и с другими типами.

3. Исключения и трассировка.

В Python также как и в алгебре деление на 0 запрещено. При попытке выполнения такой операции происходит исключение. Сообщая об исключение, Python выдает трассировку стека. В трассировке указано, что произошло исключение типа ZeroDivisionError, большая часть исключений заканчивается суффиксом Error. Ошибка division by zero — деление на ноль.

>>> 5 / 0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: division by zero

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

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