Python Tutorial

Introduction Python Features Python Applications System requirements for Python Python Installation Python Examples Python Basics Python Indentation Python Variables Python Data Types Python IDE Python Keywords Python Operators Python Comments Python Pass Statement

Python Conditional Statements

Python if Statement Python elif Statement Python If-else statement Python Switch Case

Python Loops

Python for loop Python while loop Python Break Statement Python Continue Statement Python Goto Statement

Python Arrays

Python Array Python Matrix

Python Strings

Python Strings Python Regex

Python Built-in Data Structure

Python Lists Python Tuples Python Lists vs Tuples Python Dictionary Python Sets

Python Functions

Python Function Python min() function Python max() function Python User-define Functions Python Built-in Functions Python Recursion Anonymous/Lambda Function in Python python apply() Function Python lambda() Function

Python File Handling

Python File Handling Python Read CSV Python Write CSV Python Read Excel Python Write Excel Python Read Text File Python Write Text File Read JSON File in Python

Python Exception Handling

Python Exception Handling Python Errors and exceptions Python Assert

Python OOPs Concept

OOPs Concepts in Python Classes & Objects in Python Inheritance in Python Polymorphism in Python Python Encapsulation Python Constructor Python Super function Python Static Method Static Variables in Python Abstraction in Python

Python Iterators

Iterators in Python Yield Statement In Python

Python Generators

Python Generator

Python Decorators

Python Decorator

Python Functions and Methods

Python Built-in Functions Python String Methods Python List Methods Python Dictionary Methods Python Tuple Methods Python Set Methods

Python Modules

Python Modules Python Datetime Module Python Math Module Python Import Module Python Time Module Python Random Module Python Calendar Module CSV Module in Python Python Subprocess Module Python Subprocess

Python MySQL

Python MySQL Python MySQL Client Update Operation Delete Operation Database Connection Creating new Database using Python MySQL Creating Tables Performing Transactions

Python MongoDB

Python MongoDB

Python SQLite

Python SQLite

Python Data Structure Implementation

Python Stack Python Queue Python Linked List Python Hash Table Python Graph

Python Advance Topics

Speech Recognition in Python Face Recognition in Python Python Linear regression Python Rest API Python Command Line Arguments Python JSON Python Virtual Environment Type Casting in Python Python Collections Python Commands Python Data Visualization Python Debugger Python DefaultDict Python Enumerate

Python 3

Anaconda in Python 3 Anaconda python 3 installation for windows 10 List Comprehension in Python3

Misc

Python PPTX Python Pickle Python Seaborn Python Coroutine Python EOL Python Infinity Python math.cos and math.acos function Python Project Ideas Based On Django Reverse a String in Python Reverse a Number in Python Python Word Tokenizer Python Trigonometric Functions Python try catch exception GUI Calculator in Python Implementing geometric shapes into the game in python Installing Packages in Python Python Try Except Python Sending Email Socket Programming in Python Python CGI Programming Python Data Structures Python abstract class Python Compiler Python K-Means Clustering NSE Tools In Python Operator Module In Python Palindrome In Python Permutations in Python Pillow Python introduction and setup Python Functionalities of Pillow Module Python Argmin Python whois Python JSON Schema Python lock Return Statement In Python Reverse a sentence In Python tell() function in Python Why learn Python? Write Dictionary to CSV in Python Write a String in Python Binary Search Visualization using Pygame in Python Latest Project Ideas using Python 2022 Closest Pair of Points in Python ComboBox in Python Python vs R Best resources to learn Numpy and Pandas in python Check Letter in a String Python Python Console Python Control Statements Convert Float to Int in Python using Pandas Difference between python list and tuple Importing Numpy in Pycharm Python Key Error Python NewLine Python tokens and character set Python Strong Number any() Keyword in python Best Database in Python Check whether dir is empty or not in python Comments in the Python Programming Language Convert int to Float in Python using Pandas Decision Tree Classification in Python End Parameter in python __GETITEM__ and __SETITEM__ in Python Python Namespace Python GUI Programming List Assignment Index out of Range in Python List Iteration in Python List Index out of Range Python for Loop List Subtract in Python Python Empty Tuple Python Escape Characters Sentence to python vector Slicing of a String in Python Executing Shell Commands in Python Genetic Algorithm in python Get index of element in array in python Looping through Data Frame in Python Syntax of Map function in Python After Python What Should I Learn Python AIOHTTP Alexa Python Artificial intelligence mini projects ideas in python Artificial intelligence mini projects with source code in Python Find whether the given stringnumber is palindrome or not First Unique Character in a String Python Python Network Programming Python Interface Python Multithreading Python Interpreter Data Distribution in python Flutter with tensor flow in python Front end in python Iterate a Dictionary in Python Iterate a Dictionary in Python – Part 2 Allocate a minimum number of pages in python Assertion Errors and Attribute Errors in Python Checking whether a String Contains a Set of Characters in python Python Control Flow Statements *Args and **Kwargs in Python Bar Plot in Python Conditional Expressions in Python Function annotations() in Python How to Write a Configuration file in Python Image to Text in python import() Function in Python Import py file in Python Multiple Linear Regression using Python Nested Tuple in Python Python String Negative Indexing Reading a File Line by Line in Python Python Comment Block Base Case in Recursive function python ER diagram of the Bank Management System in python Image to NumPy Arrays in Python NOT IN operator in Python One Liner If-Else Statements in Python Sklearn in Python Python Ternary Operators Self in Python Python vs Java Python Modulo Python Packages Python Syntax Python Uses Python Bitwise Operators Python Identifiers Python Matrix Multiplication Python AND Operator Python Logical Operators Python Multiprocessing Python Unit Testing __init__ in Python Advantages of Python Is Python Case-sensitive when Dealing with Identifiers Python Boolean Python Call Function Python History Python Image Processing Python main() function Python Permutations and Combinations Difference between Input() and raw_input() functions in Python Conditional Statements in python Confusion Matrix Visualization Python Python Algorithms Python Modules List Difference between Python 2 and Python 3 Is Python Case Sensitive Method Overloading in Python Python Arithmetic Operators Assignment Operators in Python Is Python Object Oriented Programming language Division in Python Python exit commands Continue And Pass Statements In Python Colors In Python Convert String Into Int In Python Convert String To Binary In Python Convert Uppercase To Lowercase In Python Convert XML To JSON In Python Converting Set To List In Python Covariance In Python CSV Module In Python Decision Tree In Python Difference Between Yield And Return In Python Dynamic Typing In Python

How to

How to Substring a String in Python How to Iterate through a Dictionary in Python How to convert integer to float in Python How to reverse a string in Python How to take input in Python How to install Python in Windows How to install Python in Ubuntu How to install PIP in Python How to call a function in Python How to download Python How to comment multiple lines in Python How to create a file in Python How to create a list in Python How to declare array in Python How to clear screen in Python How to convert string to list in Python How to take multiple inputs in Python How to write a program in Python How to compare two strings in Python How to create a dictionary in Python How to create an array in Python How to update Python How to compare two lists in Python How to concatenate two strings in Python How to print pattern in Python How to check data type in python How to slice a list in python How to implement classifiers in Python How To Print Colored Text in Python How to develop a game in python How to print in same line in python How to create a class in python How to find square root in python How to import numy in python How to import pandas in python How to uninstall python How to upgrade PIP in python How to append a string in python How to open a file in python How to Open a file in python with Path How to run a Python file in CMD How to change the names of Columns in Python How to Concat two Dataframes in Python How to Iterate a List in Python How to learn python Online How to Make an App with Python

Sorting

Python Sort List Sort Dictionary in Python Python sort() function Python Bubble Sort

Programs

Factorial Program in Python Prime Number Program in Python Fibonacci Series Program in Python Leap Year Program in Python Palindrome Program in Python Check Palindrome In Python Calculator Program in Python Armstrong Number Program in Python Python Program to add two numbers Anagram Program in Python Even Odd Program in Python GCD Program in Python Python Exit Program Python Program to check Leap Year Operator Overloading in Python Pointers in Python Python Not Equal Operator Raise Exception in Python Salary of Python Developers in India What is a Script in Python

Python Modulo

For basic calculations, Python provides operators. Python supports a broad range of Arithmetic Operators to do arithmetic, as given below:

+Addition
*Multiplication
-Subtraction
/Division
//Floor division
**Exponentiation
%Remainder/Modulus

As you can see, one of these basic arithmetic operators is the modulo operator (%), which finds the modulus that is the remainder of its first operand relative to the second. In plain English, it yields the remainder of dividing the first operand by the second operand.

Syntax:

remainder=a%b

Where a and b are integers.

For Example:

25%6 evaluates to 1 since 6 goes into 25 four times with a remainder of 1.

Similarly,

6%2.5 will yield 1.0.

Note: Here, the operands can be of number types.

Python Modulo Operator Fundamentals

The modulo operator can be applied to numeric types like int and float and other types like math.fmod(), decimal.Decimal, just like any other arithmetic operator, and it’s not surprising that it can even be used with one's classes.

Usage of Modulo Operator (%) with one of the numeric Types‘int’:

The modulo operator (%) is most commonly used with one of the numeric types int, i.e., integers. The remainder of the ordinary Euclidean division is returned when the modulo operator is applied to two positive integers.

Python Modulus Operator Exception Case

Python returns a ZeroDivisionError when one uses the modulo operator with a divisor of 0, just like the divisor operator(/).

For examples,

>>>6%3
Python Modulo
>>>25%6
Python Modulo
>>>105%0
Python Modulo

 

Usage of Modulo Operator with Numeric Type ‘float’;

When the modulo operator is used with a float, it returns the remainder of the division just like in the case with int, but with a difference that the remainder will be a float value.

>>>7.2%3
Python Modulo

Using a float with the modulo operator can quite work. Thus, Python provides a function to perform modulo operations on float values, and that function is The math.fmod(). (Do not forget to import math before using this function.)

>>> import math
>>>math.fmod(7.2,3)
Python Modulo

Suppose we briefly discuss the basic difference between the python modulo operator and math.fmod(), then this lies in how the outcome of the modulo operation is calculated by math.fmod(). One will encounter different results if using a negative operand between math.fmod(a, b) and a % b.

The math.fmod() and the modulo operator can make one face rounding and precision issues while dealing with floating-point arithmetic, as shown in the example below.

Using Modulo Operator with a Negative Operand

When two positive operands are used with the modulo operation(%), the result is predictable, and things stay simple. Still, when a negative operand is used, things become more complicated, contrary to the positive one’s case.

When using a modulo operator with a negative operand, whether the remainder must take the sign of the dividend (i.e. the number being divided) or the sign of the divisor (i.e. the number by which the dividend is being divided) is decided by the computer but the way by which computers decide it remains unclear as it rolls out. The fact is Different programming languages deal with this scenario in different ways.

If we talk in Python and some other languages, then the remainder will take up the sign of the divisor instead of the dividend, opposite to the case of JavaScript.

For example,

>>>9%-4
Python Modulo

As you can see above, the remainder, i.e. here, in this case, is -1, takes the sign of the divisor, i.e. -4. The equation given below is used in Python and other languages where the remainder takes the divisor's sign instead of the dividend's:

r = a - (n * floor(a/n))

The term floor() in this equation denotes the use of floor division.

One must understand that in Python, not all modulo operations are the same. At one place where the modulo used with the int and float types will take the sign of the divisor rather than the dividend; at the other place with other types will not.

Take a look at an example of this below, where the results of two tests are compared i.e.10.0 % -3.0 and math.fmod(8.0, -3.0):

>>>10.0%-3.0
Python Modulo
>>>Importmath
>>>math.fmod(10.0,-3.0)
Python Modulo

That math is now plainly understood. When employing truncated division, fmod() uses the sign of the dividend, whereas float uses the sign of the divisor.

The Modulo Operator and the divmod ()

Now let’s talk about divmod(), a built-in Python function. The divmod() uses the modulo operator internally. Two parameters are taken by divmod(), and then it returns a tuple containing the results of floor division(//) and modulo(%) using the given parameters, as shown in the example below;

>>>divmod(37,6)
Python Modulo

As you can see above, the two parameters taken by divmod() are 37 and 6, and after that, it returned a tuple(6,1)  containing the results of floor division, i.e.37//6, that yields 6 and modulo i.e.37%6 that yields 1.

Now let’s move to an example where the second parameter taken would be negative.

>>>divmod(37, -6)
Python Modulo

As already discussed, when negative int the modulo operator is used, the remainder takes up the sign of the divisor instead of the dividend.

 

Using the Modulo Operator in Python with decimal.Decimal

The modulo operator can be used with Decimal from the decimal module. Use decimal.Decimal if you wish to have more control over the precision of floating-point arithmetic operations. Now let’s see some examples of using integers(whole) with decimal.Decimal and the modulo operator(%):

Example:

import decimal
Q=decimal.Decimal(15) % decimal.Decimal(4)
print(Q)
Python Modulo

Now let’s look at some of the examples of using some floating-point numbers with decimal.Decimal and the modulo operator(%);

Example:

import decimal
decimal.Decimal(45.5) % decimal.Decimal(4.0)
Python Modulo

Precedence

Like other Python operators, the modulo operator has precise rules that determine its precedence while evaluating expressions. The precedence of the Modulo operator in Python is the same as that of the operators given below.

Multiplicationà (*),

division à(/),

floor division à(//) operations.

Let’s look at an example of the modulo operator’s precedence given below:

>>>5 * 10 % 16 – 9
Python Modulo

Since the level of precedence of multiplication and that of modulo operator is similar thus, with the associativity rule, Python will evaluate them from left to right. The following are the steps for the aforementioned operation;

Firstly,5 * 10 is evaluated, becoming 50 % 16 - 9.

  1. 50 % 16 is evaluated, becoming 2 - 9.
  2. 2 - 9 is evaluated, becoming -7.

Use parentheses to wrap the operation you want to be first evaluated before other operations if you want to override the precedence of other operators.

>>>5 * 10 % (16 - 9)
Python Modulo

Here, in the example above, (16 - 9) is evaluated firstly, then 5 * 10 and at last 40 % 3, which equals 1.

Using Python Modulo Operator to solve Real-World Programming Problems;

Some examples are given below, which will give you all an idea of how Python Modulo Operator can be used.

  • A Number is Even or Odd (Checking by Python Modulo Operator)

    The modulo operator can check whether a given number is even or odd. Any number can be checked to see if it is evenly divisible by 2 by using the modulo operator with a modulus of 2. It's an even number if it's evenly divisible.

    Here is a python program below checking whether the given number by the user is even or odd by using the modulo operator.
   number=int(input(“enter a number:”))
if (number%2==0):
             print(“Number is even”)
else:
   print(“Number is odd”)

Here if the given number by the user is even, let's say 6, then 6%2 will yield 0, making the if condition true as a result, the statement inside if will be printed and if it’s odd, let's say 9, then 9%2 will yield 1 which is a non-zero number; therefore the statement inside else would be printed.

  • Running the code at particular intervals in a Loop.
    Running the Code in a Loop at Specific Intervals The Python modulo operator can be used to execute code at predetermined intervals inside of a loop. This is accomplished by performing a modulo operation on the loop's current index and a modulus. The modulus number defines how often the loop's interval-specific code runs.
  • Creating cyclic iteration
    The modulo operator can be used to produce cyclic iteration. Cyclic iteration is a sort of iteration that resets once it reaches a specific point. This sort of iteration is commonly used to restrict the iteration's index to a certain range.
  • Converting units
    Here we will see how to convert units with the modulo operator. The example below shows how to convert smaller units to larger ones without using decimals. The modulo operator finds any remainder when the smaller unit is not evenly divisible by, the larger unit.
    Let’s convert inches to feet in this first example. The modulo operator is used to get the remaining inches that aren't evenly split into feet, and the floor division operator (//) is used to round down the total feet:
def inches_to_feet(given_inches):
    inches = given_inches % 12
    feet = given_inches // 12




    print(f"{given_inches} inches = {feet} feet & {inches} inches")

Now let’s see an example of the function in use:

>>>inches_to_feet(350)
Python Modulo

From the output, one can observe that 350%12 yields 2, which is the number of inches not evenly divided into feet. The total number of feet equally divided by the inches is 29, which results in 350/12.

  • Determining if a Number Is a Prime Number
    Now let’s see how to use the Python modulo operator to determine whether a number is prime. A prime number is a number that has only two elements: 1 and itself. 2, 3, 5, 7, 23, 29, 59, 83, and 97 are a few examples..

Code to check the primality of a number.

def prime_number_checking(number):
      if number <2 :
         print(f “(number) should be greater than or equal to 2 in order to be prime.”)
         return
       fac = [ (1, number)]
       a=2
       while a*a <= number:
           if number % a ==0:
fac.append { (a, number//a))
           a+=1
       if len(fac) > 1:
          print(f “Given number, (number) is not prime. It’s factors are as follows: (fac)” )
       else:
           print(f “Given number, (number ) is a prime number” )

Here is the output while passing different numbers.

>>>prime_number_checking(55)
Python Modulo
>>>prime_number_checking(13)     
Python Modulo

Conclusion

The Python modulo operator(%) is something to give your attention to surely. This operator can do much more than one can think, as seen above with its application in practice, like checking for even and odd numbers, Converting units, etc. This operator has so many usages, and it eases out our coding.



ADVERTISEMENT
ADVERTISEMENT