2.3.1.5 Остаток по модулю
Operators: remainder (modulo)
Оператор next весьма своеобразен, поскольку не имеет аналогов среди традиционных арифметических операторов.
Его графическое представление в Python - это знак % (процента), который может показаться немного запутанным.
Попробуйте представить это как косую черту (оператор деления), сопровождаемую двумя забавными кружочками.
Результатом оператора является остаток, оставшийся после целочисленного деления.
Другими словами, это значение, оставшееся после деления одного значения на другое для получения целого частного.
Примечание: в других языках программирования оператор иногда называют по модулю.
Взгляните на фрагмент - попробуйте предсказать его результат, а затем запустите его:
print(14 % 4)
Как видите, результата два. Вот почему:
14 // 4 дает 3 → это целое частное;
3 * 4 дает 12 → в результате умножения частного и делителя;
14 - 12 дает 2 → это остаток.
Этот пример несколько сложнее:
print(12 % 4.5)
Что в итоге?
3.0 - not 3 but 3.0 (the rule still works: 12 // 4.5 gives 2.0; 2.0 * 4.5 gives 9.0; 12 - 9.0 gives 3.0)
Операторы: как не делить
Как вы, наверное, знаете, деление на ноль не работает.
Не пытайтесь:
Оператор next весьма своеобразен, поскольку не имеет аналогов среди традиционных арифметических операторов.
Его графическое представление в Python - это знак % (процента), который может показаться немного запутанным.
Попробуйте представить это как косую черту (оператор деления), сопровождаемую двумя забавными кружочками.
Результатом оператора является остаток, оставшийся после целочисленного деления.
Другими словами, это значение, оставшееся после деления одного значения на другое для получения целого частного.
Примечание: в других языках программирования оператор иногда называют по модулю.
Взгляните на фрагмент - попробуйте предсказать его результат, а затем запустите его:
print(14 % 4)
Как видите, результата два. Вот почему:
14 // 4 дает 3 → это целое частное;
3 * 4 дает 12 → в результате умножения частного и делителя;
14 - 12 дает 2 → это остаток.
Этот пример несколько сложнее:
print(12 % 4.5)
Что в итоге?
3.0 - not 3 but 3.0 (the rule still works: 12 // 4.5 gives 2.0; 2.0 * 4.5 gives 9.0; 12 - 9.0 gives 3.0)
Операторы: как не делить
Как вы, наверное, знаете, деление на ноль не работает.
Не пытайтесь:
- выполнить деление на ноль;
- выполнить целочисленное деление на ноль;
- найти остаток от деления на ноль.