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

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

Базовые математические операции в 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: математические операции

В этом руководстве мы будем работать с двумя типами данных в 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

В этом материале рассмотрим работу с числами в Python. Установите последнюю версию этого языка программирования и используйте IDE для работы с кодом, например, Visual Studio Code.

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

  • int (целые числа)
  • float (числа с плавающей точкой)
  • complex (комплексные числа)

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

Целые и числа с плавающей точкой в Python

В программирование целые числа — это те, что лишены плавающей точкой, например, 1, 10, -1, 0 и так далее. Числа с плавающей точкой — это, например, 1.0, 6.1 и так далее.

Создание int и float чисел

Для создания целого числа нужно присвоить соответствующее значение переменной. Возьмем в качестве примера следующий код:

Здесь мы присваиваем значение 25 переменной var1 . Важно не использовать одинарные или двойные кавычки при создании чисел, поскольку они отвечают за представление строк. Рассмотрим следующий код.

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

Здесь также не стоит использовать кавычки.

Проверить тип данных переменной можно с помощью встроенной функции type() . Можете проверить результат выполнения, скопировав этот код в свою IDE.

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

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

Значение выведем с помощью функции print :

Арифметические операции над целыми и числами с плавающей точкой

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

Python IDLE

Сложение

В Python сложение выполняется с помощью оператора + . В терминале Python выполните следующее.

Результатом будет сумма двух чисел, которая выведется в терминале.

Работа с числами в Python

Теперь запустим такой код.

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

Вычитание

В Python для операции вычитания используется оператор -. Рассмотрим примеры.

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

Умножение

Для умножения в Python применяется оператор * .

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

Деление

В Python деление выполняется с помощью оператора / .

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

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

При обычном делении с использованием оператора / результатом будет точное число с плавающей точкой. Но иногда достаточно получить лишь целую часть операции. Для этого есть операции интегрального деления. Стоит рассмотреть ее на примере.

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

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

Для получения остатка деления двух чисел используется оператор деления по модулю % .

На этих примерах видно, как это работает.

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

Число можно возвести в степень с помощью оператора ** .

Комплексные числа

Комплексные числа — это числа, которые включают мнимую часть. Python поддерживает их «из коробки». Их можно запросто создавать и использовать. Пример:

Ссылка на основную публикацию