Оператор деления в Python: примеры с описанием
Главная » Числа, даты и время Python
0
Python поддерживает два оператора деления: / и //. На самом деле за этим стоит целая история. В первых выпусках Python был только один оператор деления (/). Однако его работа была неоднозначной. Для целых чисел он раньше возвращал целочисленное значение, тогда как для чисел с плавающей запятой он возвращал значения с плавающей запятой. В Python не было оператора истинного деления.
Чтобы исправить это – Python 2.2 представил новый оператор деления (//) и позволил разработчикам переносить свои приложения, чтобы использовать его везде, где им нужно целочисленное деление. Это изменение было выполнено в соответствии с PEP-238. Наконец, в Python 3 оператор деления (/) начал работать, как оператор истинного деления.
Давайте рассмотрим несколько простых фрагментов кода, чтобы понять операторы деления в Python.
Операторы деления в Python 2
$ python2.7 Python 2.7.10 (default, Aug 17 2018, 19:45:58) [GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.0.42)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 9/2 4 >>> -9/2 -5 >>> 9.0/2 4.5 >>> -9.0/2 -4.5 >>> 9//2 4 >>> -9//2 -5 >>> 9.0//2 4.0 >>> -9.0//2 -5.0 >>>
Обратите внимание: если вы используете Python 2.1 или более раннюю версию, // работать не будет.
Операторы деления Python 3
$ python3.7 Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24) [Clang 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 9/2 4.5 >>> -9/2 -4. 5 >>> 9.0/2 4.5 >>> -9.0/2 -4.5 >>> 9//2 4 >>> -9//2 -5 >>> 9.0//2 4.0 >>> -9.0//2 -5.0 >>>
В таблице ниже показаны результаты и пояснения для лучшего понимания.
4 | 4.5 | Для целых чисел Python 2 всегда возвращает int и возвращает минимальное значение. В то время как Python 3 возвращает значение с плавающей запятой. | |
-9/2 | -5 | -4,5 | Поскольку Python 2 возвращает значение пола, он возвращает -5. |
9,0 / 2 | 4.5 | 4.5 | С числами с плавающей запятой и Python 2, и Python 3 возвращают значение с плавающей запятой, и их поведение одинаково. |
-9,0 / 2 | -4,5 | -4,5 | То же, что и выше. |
9 // 2 | 4 | 4 | Оператор разделения этажей работает одинаково как в Python 2, так и в Python 3. |
-9 // 2 | -5 | -5 | |
9.0 // 2 | 4.0 | 4.0 | |
-9,0 // 2 | -5,0 | -5,0 |
Рейтинг
( 1 оценка, среднее 5 из 5 )
Васильев А.Н. / автор статьи
Помогаю в изучении Питона на примерах. Автор практических задач с детальным разбором их решений.
Комментарии0 Поделиться:Математические вычисления в Python 3
30 ноября, 2016 11:48 дп 58 313 views | 1 комментарийPython | Amber | 1 Comment
Программирование невозможно представить без работы с числами. Размеры экрана, выбор цвета путем присвоения числовых кодов, географическое расположение, деньги и очки, продолжительность видео – для всего этого используются числа.
Потому умение выполнять математические операции очень важно для программирования. Конечно, чем выше у вас навык математических вычислений, тем лучше для вас; однако совсем не обязательно уметь выполнять сложнейшие вычисления, чтобы быть хорошим программистом. Если у вас нет опыта работы в области математики, старайтесь представлять математику как инструмент или как способ улучшить ваше логическое мышление.
Данное руководство научит вас работать с двумя наиболее распространёнными числовыми типами данных Python:
- целыми числами (бывают положительными, отрицательными или равными нулю (…, -1, 0, 1, …)).
- и числами с плавающей точкой (числа с десятичными знаками (например, 9.0 или -2.25)).
Читайте также
Операторы Python
Оператор – это символ или функция, которая выполняет то или иное действие над данными. К примеру, символ + – это оператор сложения.
В 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 | Возведение в степень |
Также руководство охватывает использование операторов присваивания.
Сложение и вычитание
Операции сложения и вычитания в Python выполняются точно так же, как и в обычной математике. Вы даже можете использовать Python вместо калькулятора.
Например:
print(1 + 5)
6
Также вы можете объявить переменные и указать их в функции print:
a = 88
b = 103
print(a + b)
191
Целые числа бывают положительными и отрицательными. Попробуйте сложить следующие числа:
c = -36
d = 25
print(c + d)
-11
Числа с плавающей точкой складываются аналогичным образом:
e = 5.5
f = 2.5
print(e + f)
8.0
В результате сложения чисел с плавающей точкой также получается число с плавающей точкой, потому Python выводит 8.0, а не 8.
Синтаксис вычитания отличается от сложения только оператором. Попробуйте отнять 32 из 75.67:
g = 75.67
h = 32
print(g - h)
43.67
Примечание: Если в операции присутствует хотя бы одно число с плавающей точкой, в результате Python также выведет число с плавающей точкой.
Унарные арифметические операции
Унарное математическое выражение состоит только из одного компонента или элемента. В Python плюс и минус вместе со значением могут быть использованы в качестве одного элемента, это позволяет показать тождественность значения (+) или изменить его знак (-).
Тождественность используется нечасто. Плюс можно использовать с положительными числами:
i = 3.3
print(+i)
3.3
Если вы используете плюс с отрицательным числом, он также вернёт тождественное (в этом случае – отрицательное) число.
j = -19
print(+j)
-19
Минус позволяет изменить знак. Если вы добавите минус к положительному значению, в результате будет отображено отрицательное значение:
i = 3.3
print(-i)
-3.3
Если добавить минус к отрицательному значению, в результате получится положительное число:
j = -19
print(-j)
19
Умножение и деление
Операции умножения и деления, как сложение и вычитание, выполняются в Python так же, как в обычной математике.
Например:
k = 100.1
l = 10.1
print(k * l)
1011.0099999999999
При делении в Python 3 частное всегда возвращается в виде числа с плавающей точкой, даже если вы делите целые числа:
m = 80
n = 5
print(m / n)
16.0
Это одно из главных различий между Python 2 и Python 3. Python 3 возвращает дробный результат, потому при делении 11 на 2 вы получите 5.5. В Python 2 деление привязано к типам данных, потому при делении целого числа невозможно получить число с плавающей точкой; поэтому при делении 11 на 2 Python 2 возвращает 5.
Читайте также: Python 2 vs Python 3
Когда числа по обе стороны символа деления являются целыми, выполняется деление floor, то есть, для фактора х Python 2 возвращает наибольшее целое число меньше или равное х. К примеру, при делении 5 / 2 таким числом будет 2.
Чтобы выполнить деление floor и получить только целую часть числа, Python 3 использует оператор //. К примеру, разделив 100//40, вы получите 2.
Деление по модулю
Оператор % – это модуль, который возвращает остаток от деления. К примеру, это позволяет найти числа, кратные одному и тому же числу.
Например:
o = 85
p = 15
print(o % p)
10
При делении 85 на 15 получается 5 и 10 в остатке.
Попробуйте разделить числа с плавающей точкой:
q = 36.0
r = 6.0
print(o % p)
0.0
Число 36.0 делится на 6.0 без остатка, потому в результате получился 0.0.
Возведение в степень
Оператор ** в Python возводит число в степень. Например, выражение 5 ** 3 значит, что 5 нужно возвести в третью степень. В математике это выглядит так: 5³. В Python можно получить тот же результат (125), умножив 5*5*5.
Например:
s = 52.25
t = 7
print(s ** t)
1063173305051.292
Приоритет операций
Как и в математике, в Python нужно помнить о том, что операции выполняются в порядке их приоритета, а не по порядку справа налево.
К примеру:
u = 10 + 10 * 5
Сначала выполняется умножение (10*5=50), а затем сложение (10+50). Потому результат будет такой:
print(u)
60
Чтобы сначала выполнить операцию сложения, а затем умножить полученный результат на 5, нужно взять сложение в скобки:
u = (10 + 10) * 5
print(u)
100
Математические операции имеют такой приоритет:
- Выражение в скобках;
- Экспоненты;
- Умножение;
- Деление;
- Сложение;
- Вычитание.
Операторы присваивания
Наиболее распространённым оператором присваивания является знак равенства (=). Он присваивает переменной слева значение справа. К примеру, в выражении v = 23 переменной v было присвоено значение 23.
В программировании часто используются составные операторы присваивания, которые выполняют операцию со значением переменной, а затем присваивают этой переменной полученное новое значение. Составные операторы объединяют арифметический оператор с оператором =. Например:
w = 5
w += 1
print(w)
6
Составной оператор += выполнил сложение, а затем присвоил переменной w, значение, полученное в результате сложения.
Составные операторы часто используются в циклах.
for x in range (0, 7):
x *= 2
print(x)
0
2
4
6
8
10
12
Это позволяет автоматизировать процесс умножения чисел в заданном диапазоне.
В Python есть составные операторы присваивания для каждой математической операции:
y += 1 # сложение и присваивание
y -= 1 # вычитание и присваивание
y *= 2 # умножение и присваивание
y /= 3 # деление и присваивание
y // = 5 # деление floor и присваивание
y **= 2 # возведение в степень и присваивание
y %= 3 # вывод остатка и присваивание
Операторы присваивания позволяют постепенно увеличить или уменьшить значение, а также автоматизировать некоторые вычисления.
Заключение
Теперь вы умеете выполнять вычисления в Python. Читайте также:
- Типы данных в Python 3
- Преобразование типов данных в Python 3
Операторы деления
в Python — GeeksforGeeks
Операторы деления позволяют делить два числа и возвращать частное, т. е. первое число или число слева делится на второе число или число справа и возвращает частное.
Существует два типа операторов деления:
(i)
Деление с плавающей запятой:Частное, возвращаемое этим оператором, всегда представляет собой число с плавающей запятой, независимо от того, являются ли два числа целыми. Например:
>>>5/5 1,0 >>>10/2 5,0 >>>-10/2 -5,0 >>>20.0/2 10.0
(ii)
Целочисленное деление (этажное деление):Частное, возвращаемое этим оператором, зависит от передаваемого аргумента. Если какое-либо из чисел является числом с плавающей запятой, он возвращает вывод в формате с плавающей запятой. Это также известно как деление на пол, потому что, если какое-либо число отрицательное, выход будет половинчатым. Например:
>>>5//5 1 >>>3//2 1 >>>10//3 3
Рассмотрим приведенные ниже инструкции в Python.
Python3
|
Выход:
2 -3
Первый вывод в порядке, но второй может удивить, если мы приближаемся к миру Java/C++. В Python оператор «//» работает как деление пола для аргументов с целыми числами и числами с плавающей запятой. Однако оператор деления ‘/’ всегда возвращает значение с плавающей запятой.
Примечание: Оператор «//» используется для возврата ближайшего целого числа, которое меньше или равно указанному выражению или значению. Таким образом, из приведенного выше кода 5//2 возвращает 2. Вы знаете, что 5/2 равно 2,5, а ближайшее целое число, меньшее или равное, равно 2[5//2]. (это обратно к обычной математике, в обычной математике значение равно 3).
Пример
Python3
|
Output
2.5 -2,5
Настоящим оператором деления этажа является «//». Он возвращает минимальное значение как для целых аргументов, так и для аргументов с плавающей запятой.
Python3
|
Выход
2 -3 2. 0 -3,0
См. например.
Целочисленное деление и деление с плавающей запятой • datagy
В этом посте вы узнаете о делении Python 3, а также о некоторых его неожиданных особенностях. Вы узнаете, как использовать как целочисленные, так и напольные методы, а также как интерпретировать некоторые из его менее ожидаемых результатов.
Содержание
Python Division – разные пути
В Python есть два разных оператора деления: /
и //
. Какой из них вы используете, зависит от результата, которого вы хотите достичь.
- Одинарная косая черта
/
, известная как деление с плавающей запятой, возвращает число с плавающей запятой . - С другой стороны, оператор двойной косой черты
//
возвращает минимальное значение, а именно целое число или значение с плавающей запятой .
Половое деление Python
Половое деление Python с использованием оператора //
работает, возвращая минимальное значение своего частного. Это работает иначе, чем целочисленное деление, которое округляет число. Вместо этого это работает, возвращая значение floor .
Давайте посмотрим, как это работает в действии, на нескольких примерах:
# Два значения с плавающей точкой>> 7.0 // 2.03.0# Одно значение с плавающей запятой>> 7 // 2.03.0# Два целых числа>> 7 // 23
Интересно отметить, что происходит с отрицательными числами:
>> -7. 0 // 3-3.0
Логически это имеет смысл. Результат будет округлен с до (т. е. с половым значением), а это означает, что хотя мы можем ожидать, что он будет равен -2,0
, округленное в меньшую сторону значение будет правильным -3,0
.
Python Float Division
Python Float Division использует оператор /
и возвращает значение с плавающей запятой. Это, возможно, больше похоже на то, как вы ожидаете, что разделение будет работать. Давайте посмотрим еще на несколько примеров:
# Два целых числа>> 7 / 32.33# Одно значение с плавающей запятой>> 7.0 / 32.33# Два значения с плавающей запятой>> 7.0 / 3.02.33
Как видите, результаты возвращают ожидаемые значения, независимо от того, деление целых чисел, чисел с плавающей запятой или их сочетания.