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 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 ))
|
(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
- 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.
- If the second argument is 0, it returns Zero Division Error
- 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
# 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' )
|
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.
# 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)
|
14
In this example, we are reversing a number using divmod
while also utilizing it to calculate the quotient and remainder in Python.
# 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)
|
231