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
``````
``````1
``````

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
``````
``````0.0
``````
When formatting strings, the `%` character represents the interpolation operator.

## Examples #

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 `2` to `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.

## Conclusion #

In this article, we have shown you how to use Python’s modulo operator.