
Операция деления по модулю — это арифметическая операция, которая вычисляет остаток от деления одного числа на другое. Остаток называется модулем операции.
Например, 5, деленное на 3, равно 1 с остатком 2, а 8, деленное на 4, равно 2 с остатком 0.
Оператор деления по модулю Python
В Python оператор деления по модулю представлен знаком процента ( % ). Синтаксис следующий:
num1 % num2
Вот пример:
5 % 4
1
Если делитель (второй аргумент) равен нулю, возникает ошибка ZeroDivisionError :
5 % 0
ZeroDivisionError: integer division or modulo by zero
Оператор по модулю также принимает в качестве аргументов числа с плавающей точкой:
6.8 % 3.4
0.0
При форматировании строк символ % представляет собой оператор интерполяции.
Примеры
Один из распространённых вариантов использования оператора деления по модулю — проверка чётности числа. Если число при делении на 2 не даёт остатка, то оно чётное. В противном случае, если остаток равен 1, то число нечётное:
num = 11 if ( num % 2 ) == 0 : print ( num , "is even" ) else : print ( num , "is odd" )
Если запустить код выше, 11 % 2 оставит остаток 1, и будет выполнен код внутри оператора else :
11 is odd
Вот ещё один пример, показывающий, как проверить, является ли число простым, используя оператор деления по модулю. Простое число — это положительное целое число, которое можно разделить без остатка только на себя и на 1:
def isPrimeNumber ( num ): if num < 1 : return False for i in range ( 2 , num ): if ( num % i ) == 0 : return False else : return True
Сначала мы проверяем, является ли число num положительным. Затем мы проверяем, делится ли оно на другое число в диапазоне от 2 до num без остатка. Если ни одно из условий не выполняется, число является простым.
Оператор деления по модулю также можно использовать для преобразования единиц измерения. Следующий пример показывает, как преобразовать секунды в минуты:
def secondsToMinutes ( sec ): seconds = sec // 60 minutes = sec % 60 return " %d minutes and %d seconds" % ( minutes , seconds ) secondsToMinutes ( 657 )
'57 minutes and 10 seconds'
Двойной слеш ( // ), оператор деления округляет результат до ближайшего целого числа.
Заключение
В этой статье мы показали вам, как использовать оператор по модулю в Python.
Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.
Связанные руководства