все Python 3Арифметика и операторыпонятие
% остаток
арифметика
Оператор получения остатка от деления (modulo). Знак результата совпадает со знаком делителя. Широко используется для проверки чётности и цикличности.
Синтаксис
a % b
Из правила знака следует неочевидное: -123 % 10 равно 7, а не 3, поэтому привычный приём «последняя цифра через % 10» на отрицательных числах ломается — считайте от abs(n). Если нужны и частное, и остаток, divmod(a, b) отдаёт оба за один проход, а b, равное нулю, даёт ZeroDivisionError так же, как обычное деление.
Примеры
print(10 % 3) # → 1
print(7 % 2) # → 1 (нечётное число)
print(8 % 2) # → 0 (чётное число)
print(123 % 10) # → 3 (последняя цифра)
seconds = 3661; print(seconds % 60) # → 1 (секунды)
print(15 % 5) # → 0 (кратно)
try:
print(5 % 0)
except ZeroDivisionError:
print("Деление на ноль") # → Деление на ноль
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности