Summary: in this tutorial, you’ll learn about the Python modulo operator (%
) and how to use it effectively.
Introduction to the Python modulo operator #
Python uses the percent sign (%) as the modulo operator. The modulo operator always satisfies the following equation:
N = D * ( N // D) + (N % D)
Code language: JavaScript (javascript)
In this equation:
- N is the numerator.
- D is the denominator.
- // is the floor division operator
- And % is the modulo operator
If both N and D are positive integers, the modulo operator returns the remainder of N / D. However, it is not the case for the negative numbers. Therefore, you should always stick with the above equation.
Simple Python modulo operator examples #
The following example illustrates how to use the modulo operator (%) with positive integers:
a = 16
b = 5
m = a % b
f = a // b
# show the result
print(f'{a} % {b} = {m}') # 1
print(f'{a} // {b} = {f}') # 3
Code language: Python (python)
Output:
1
3
For positive numbers, the result is quite apparent. And you can check the equation quickly:
16 = 5 * (16 // 5) + 16 % 5
16 = 5 * 3 + 1
Code language: JavaScript (javascript)
The following shows how to use the modulo operator (%
) with negative integers:
a = -16
b = 5
m = a % b
f = a // b
# show the result
print(f'{a} % {b} = {m}') # 4
print(f'{a} // {b} = {f}') # -4
Code language: Python (python)
And the equation is satisfied:
-16 = 5 * (-16 % 5) + (-16) % 5
-16 = 5 * -4 - 4
Practical Python modulo operator examples #
Let’s take some practical examples of using the modulo operator (%)
1) Using the modulo operator to check if a number is even or odd #
The following defines a function that uses the modulo operator (%) to check if a number is even:
def is_even(num):
return num % 2 == 0
Code language: Python (python)
And the following defines a function that uses the modulo operator to check if a number is odd:
def is_odd(num):
return num % 2 != 0
Code language: JavaScript (javascript)
2) Using the modulo operator to convert units #
The following example uses the modulo operator (%
) to convert seconds to days, hours, minutes, and seconds. It can be handy if you want to develop a countdown program:
from math import floor
def get_time(total_seconds):
return {
'days': floor(total_seconds / 60 / 60 / 24),
'hours': floor(total_seconds / 60 / 60) % 24,
'minutes': floor(total_seconds / 60) % 60,
'seconds': total_seconds % 60,
}
print(get_time(93750))
Code language: Python (python)
Output:
{'days': 1, 'hours': 2, 'minutes': 2, 'seconds': 30}
Code language: JavaScript (javascript)
Summary #
- Python uses the percent sign (
%
) as the modulo operator. - The modulo operator (%) always satisfies the equation
N = D * ( N // D) + (N % D)
.