Open In App

divmod() in Python and its application

Improve
Improve
Like Article
Like
Save
Share
Report

In Python, divmod() method takes two numbers and returns a pair of numbers consisting of their quotient and remainder. In this article, we will see about divmod() function in Python and its application.

Python divmod() Function Syntax

divmod(x, y)
x and y : x is numerator and y is denominator
x and y must be non complex

What is the divmod() function in Python?

In Python, divmod() is a built-in function that takes two numbers as arguments and returns a tuple containing the quotient and the remainder of the division operation.

divmod() in Python Working and Examples

Example: The divmod() method takes two parameters x and y, where x is treated as the numerator and y is treated as the denominator. The method calculates both x // y and x % y and returns both the values. 

Input : x = 9, y = 3
Output :(3, 0)
Input : x = 8, y = 3
Output :(2, 2)

Explanation

  • If x and y are integers, the return value is
(x // y, x % y)

  • If x or y is a float, the result is
(q, x % y), where q is the whole part of the quotient.

In this example, we are using divmod() function, which returns a tuple containing the quotient and remainder of division. It shows examples of using divmod() with integers and floating-point numbers, showcasing its functionality for both data types.

Python3




# Python3 code to illustrate divmod()
# divmod() with int
print('(5, 4) = ', divmod(5, 4))
print('(10, 16) = ', divmod(10, 16))
print('(11, 11) = ', divmod(11, 11))
print('(15, 13) = ', divmod(15, 13))
 
# divmod() with int and Floats
print('(8.0, 3) = ', divmod(8.0, 3))
print('(3, 8.0) = ', divmod(3, 8.0))
print('(7.5, 2.5) = ', divmod(7.5, 2.5))
print('(2.6, 10.7) = ', divmod(2.6, 0.5))


Output

(5, 4) =  (1, 1)
(10, 16) =  (0, 10)
(11, 11) =  (1, 0)
(15, 13) =  (1, 2)
(8.0, 3) =  (2.0, 2.0)
(3, 8.0) =  (0.0, 3.0)
(7.5, 2.5) =  (3.0, 0.0)
(2.6, 10.7) =  (5.0, 0.10000000000000009)


Exceptions of Python divmod() Function

  1. If either of the arguments (say x and y), is a float, the result is (q, x%y). Here, q is the whole part of the quotient.
  2. If the second argument is 0, it returns Zero Division Error
  3. If the first argument is 0, it returns (0, 0)

Practical Application: Check if a number is prime or not using divmod() function.  

Input : n = 7
Output :Prime
Input : n = 15
Output :Not Prime

Examples:  Initialise a new variable, say x with the given integer and a variable counter to 0. Run a loop till the given integer becomes 0 and keep decrementing it. Save the value returned by divmod(n, x) in two variables, say p and q. Check if q is 0, this will imply that n is perfectly divisible by x, and hence increment the counter value. Check if the counter value is greater than 2, if yes, the number is not prime, else it is prime

PYTHON3




# Python code to find if a number is
# prime or not using divmod()
 
# Given integer
n = 15
x = n
 
# Initialising counter to 0
count = 0
while x != 0:
    p, q = divmod(n, x)
    x -= 1
    if q == 0:
        count += 1
if count > 2:
    print('Not Prime')
else:
    print('Prime')


Output

Not Prime


More Applications: 

In this example, we are calculating the sum of digits of a number using divmod while also using it to calculate the quotient and remainder in Python.

Python3




# Sum of digits of a number using divmod
num = 86
sums = 0
while num != 0:
    use = divmod(num, 10)
    dig = use[1]
    sums = sums + dig
    num = use[0]
print(sums)


Output

14


In this example, we are reversing a number using divmod while also utilizing it to calculate the quotient and remainder in Python.

Python3




# reversing a number using divmod
num = 132
pal = 0
while num != 0:
    use = divmod(num, 10)
    dig = use[1]
    pal = pal*10+dig
    num = use[0]
print(pal)


Output

231




Last Updated : 29 Nov, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads