Related Articles

Related Articles

What is a modulo operator (%) in Python?
  • Difficulty Level : Medium
  • Last Updated : 28 Jul, 2020

When we see a ‘%’ the first thing that comes to our mind is the “Percentage-sign”, but when we think of it from the perspective of computer language, this sign has, in fact, another name and meaning. In computing, the modulo operation(%) finds the remainder or signed remainder after the division of one number by another (called the modulus of the operation).

Given two positive numbers, a and n, a modulo n (a % n, abbreviated as a mod n) is the remainder of the Euclidean division of a by n, where a is the dividend and n is the divisor.

Basically, Python modulo operation is used to get the remainder of a division. The modulo operator(%) is considered an arithmetic operation, along with +, , /, *, **, //. In most languages, both operands of this modulo operator have to be an integer. But Python Modulo is versatile in this case. The operands can be either integer or float.

Syntax:

a % b

Here, a is divided by b, and the remainder of that division is returned.



Code: 

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# inputs
a = 13
b = 5
  
# Stores the remainder obtained 
# when dividing a by b, in c
c = a % b      
print(a, "mod", b, "=",
      c, sep = " ")
  
# inputs
d = 15.0
e = 7.0
  
# Stores the remainder obtained 
# when dividing d by e, in f
f = d % e
print(d, "mod", e, "="
      f, sep = " ")

chevron_right


Output:

13 mod 5 = 3
15.0 mod 7.0 = 1.0

This was a simple example showing the use of the syntax, and a basic operation performed by the modulo operator. Suppose, we want to calculate the remainder of every number from 1 to n when divided by a fixed number k.

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# function is defined for finding out 
# the remainder of every number from 1 to n
def findRemainder(n, k):
    
  for i in range(1, n + 1):
    # rem will store the remainder 
    # when i is divided by k.
    rem = i % k  
      
    print(i, "mod", k, "="
          rem, sep = " ")
  
# Driver code
if __name__ == "__main__" :
    
  # inputs
  n = 5
  k = 3
    
  # function calling
  findRemainder(n, k)

chevron_right


 Output:

1 mod 3 = 1
2 mod 3 = 2
3 mod 3 = 0
4 mod 3 = 1
5 mod 3 = 2

Exceptions

The only Exception you get with python modulo operation is ZeroDivisionError. This happens if the divider operand of the modulo operator becomes zero. That means the right operand can’t be zero. Let’s see the following code to know about this python exception.

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# inputs
a = 14
b = 0
  
# exception handling
try:
    print(a, 'mod', b, '=',
          a % b, sep = " ")
      
except ZeroDivisionError as err:
    print('Cannot divide by zero!' +
          'Change the value of the right operand.')

chevron_right


 Output:

Cannot divide by zero! Change the value of the right operand.

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :