Module (51%)
Section (40%)

Арифметические операторы: целочисленное деление

Знак // (двойная косая черта) является оператором целочисленного деления. Он отличается от стандартного оператора / двумя деталями:

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

Запустите приведенный ниже пример и посмотрите результаты:

print(6 // 3) print(6 // 3.) print(6. // 3) print(6. // 3.)

Как видите, целочисленное деление на целое число дает целочисленный результат. Все остальные случаи производят "плавающие" числа.


Давайте сделаем несколько более сложных тестов.

Посмотрите на следующий фрагмент:

print(6 // 4) print(6. // 4)

Представьте, что мы использовали / вместо // - можете ли вы предсказать результаты?

Да, это будет 1.5 в обоих случаях. Это понятно.

Но каких результатов деления мы должны ожидать при использовании //?

Запустите код и убедитесь сами.


Мы получаем два - одно целое и одно с плавающей точкой.

Результат целочисленного деления всегда округляется до ближайшего целочисленного значения, которое меньше реального (не округленного) результата.

Это очень важно: округление всегда идет к меньшему целому числу.


Посмотрите на приведенный ниже код и попробуйте спрогнозировать результаты еще раз:

print(-6 // 4) print(6. // -4)

Примечание: некоторые значения являются отрицательными. Это явно повлияет на результат. Но как?

Результат - две отрицательные пары. Реальный (не округленный) результат равен -1.5 в обоих случаях. Тем не менее, результаты являются предметами округления. Округление до меньшего целочисленного значения, а меньшее целочисленное значение равно -2,следовательно: -2 и -2.0.

ПРИМЕЧАНИЕ

Целочисленное деление также можно назвать нижним делением. Вы обязательно встретите этот термин в будущем.


Code

{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×