Операция по модулю – это арифметическая операция, которая находит остаток от деления одного числа на другое. Остаток называется модулем операции.
Например, 5 деленное на 3, равно 1, с остатком 2, а 8, деленное на 4, равно 2, с остатком 0.
Оператор Modulo в Python
В Python оператор Modulo представлен знаком процента ( %). Синтаксис выглядит следующим образом:
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 по модулю.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.