Python Modulo Operator
2 min read
The modulo operation is an arithmetic operation that finds the remainder of the division of one number by another. The remainder is called the modulus of the operation.
For example, 5 divided by 3 equals 1, with a remainder of 2, and 8 divided by 4 equals 2, with a remainder of 0.
Python Modulo Operator
In Python, the modulo operator is represented by the percent sign (
%). The syntax is as follows:
num1 % num2
Here is an example:
5 % 4
If the divisor (the second argument) is equal to zero a
ZeroDivisionError is raised:
5 % 0
ZeroDivisionError: integer division or modulo by zero
The modulo operator also accepts floating numbers as arguments:
6.8 % 3.4
%character represents the interpolation operator.
One of the common use cases of the modulo operator is to check whether a number is odd or even. If a number divided by 2 has no remainder, then it is an even number. Otherwise, if it leaves a remainder of 1, then the number is odd:
num = 11 if (num % 2) == 0: print(num, "is even") else: print(num, "is odd")
If you run the code above,
11 % 2 leaves a remainder of 1 and the code inside the
else statement is executed:
11 is odd
Here is another example, showing how to check if a number is a prime number, using the modulo operator. A prime number is a positive integer that can be divided, without a remainder, only by itself and by 1:
def isPrimeNumber(num): if num < 1: return False for i in range(2, num): if (num % i) == 0: return False else: return True
First, we’re checking if the number,
num is a positive number. We’re then checking whether the number is divisible by another number in the range from
num without a reminder. If none of the conditions are met, the number is prime.
The modulo operator can also be used to convert units of measure. The following example shows how to convert seconds to minutes:
def secondsToMinutes(sec): seconds = sec // 60 minutes = sec % 60 return "%d minutes and %d seconds" % (minutes, seconds) secondsToMinutes(657)
'57 minutes and 10 seconds'
The double slash (
//), floor division operator rounds the result to the nearest whole number.
In this article, we have shown you how to use Python’s modulo operator.
If you have any questions or feedback, feel free to leave a comment.