# Python Modulo: How to Use Modulo Operator

The modulo operator in Python is considered an arithmetic operation, along with +, -, /, *, **, //. The** modulo operator(%)** is used to get the remainder after the division.

**Python Modulo Operator**

The** modulo **is a built-in **operator** that returns the remainder of dividing the left-hand operand by the right-hand operand. It’s used to get the remainder of the division problem.

When you see the % symbol, you may think “**percent”**. But in most programming languages, it means something different. For example, the % symbol in Python is called a Modulo Operator.

The **modulo(%) operator** yields a remainder from the division of the first argument by the second. The numeric arguments are first converted to the standard type. The zero-right argument raises the **ZeroDivisionError** **exception**.

The arguments might be floating numbers, e.g., 3.14%0.7 is equal to 0.34 (since 3.14 equals 4*0.7 + 0.34).

The modulo operator(%) always yields the result with the same sign as its second operand (or zero); the absolute value of a result is strictly smaller than the absolute value of the second operand [2].

In many programming languages, both operands of this modulo operator have to be integer. But Python Modulo operator is flexible in this case. The operands can be either an integer or float.

An expression like **a % b** evaluates the remainder of **a ÷ b. Technically**, it is a “**modulus”** instead of “**reminder,”** so results may differ if you compare with other languages where **%** is the **remainder** **operator**.

**Syntax**

x % y

Here, x is divided by y, and the remainder is returned. Let’s see an example with numbers.

print(5 % 2)

**Output**

1

The result of the previous example is one. So two go into five two times, and there is one leftover.

The 7 / 2 = 3 and Reminder 1 and 7 % 2 = 1. That means, the modulo returns reminder.

Let’s see another example.

See the following code.

print(6 % 2)

**Output**

0

Now, let’s see the following code in which the left value is less than the right value.

print(2 % 3)

**Output**

2

We got the **2** because** 3** does not go into **2** any time, so the original **2** is leftover.

**Using the Modulo Operator with range and for loop**

The most common operation of Modulo Operator is to find even or odd numbers. For example, the code below uses the modulo operator to print all even numbers between 1 and 9.

for number in range(1, 9): if(number % 2 == 0): print(number)

**Output**

2 4 6 8

In this example, we have used the range() function to generate specific numbers and check if the value is even or not using the module operator.

**Exceptions with the Python Modulo Operator**

The only exception you get with a python modulo operator(%) is when the second argument is 0. This means that the divider operand of the modulo operator cannot be zero.

print(6 % 0)

**Output**

Traceback (most recent call last): File "app.py", line 1, in <module> print(6 % 0) ZeroDivisionError: integer division or modulo by zero

We got the following error.

**ZeroDivisionError: integer division or modulo by zero**

It is one of the most common exceptions in all programming languages.

**Formatting output using String modulo operator(%)**

**The modulo(%) operator can also be used for string format.** It interprets a left argument much like the printf()-style format string applied to the right argument.

print("App: %2d, Dividend: %5.2f" % (1, 05.333))

**Output**

App: 1, Dividend: 5.33

There are two modulo operators in our example: The “%2d” and “%5.2f”. The general syntax for a format placeholder is the following.

%[flags][width][.precision]type

The **modulo operator** is also called a **modulus operator**.

See another example.

predestination = 'john_%(jane)s_' predestination %= {'jane': 'doe'} print(predestination)

**Output**

john_doe_

**Conclusion**

**Python modulo operator,** also known as the **remainder operator,** or integer **remainder operator,** works on the integers (and integer expressions) and yields a **remainder** when the first operand is divided by the second operand.

That’s it for this example.