Python Modulo

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:

If both N and D are positive integers, the modulo operator returns the remainder of N / D. However, it’s 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 obvious. And you can check the equation easily:

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 very useful 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).
Did you find this tutorial helpful ?