El método divmod() en python toma dos números y devuelve un par de números que consisten en su cociente y resto.
Sintaxis:
divmod(x, y) x and y : x is numerator and y is denominator x and y must be non complex
Ejemplos:
Input : x = 9, y = 3 Output :(3, 0) Input : x = 8, y = 3 Output :(2, 2)
Explicación: el método divmod() toma dos parámetros x e y, donde x se trata como numerador e y como denominador. El método calcula tanto x // y como x % y y devuelve ambos valores.
- Si x e y son números enteros, el valor devuelto es
(x // y, x % y)
- Si x o y es un flotante, el resultado es
(q, x % y), where q is the whole part of the quotient.
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))
Producción:
(5, 4) = (1, 1) (10, 16) = (0, 10) (11, 11) = (1, 0) (15, 13) = (1, 2) (6.0, 5) = (2.0, 2.0) (3, 9.0) = (0.0, 3.0) (13.5, 6.2) = (3.0, 0.0) (1.6, 10.7) = (5.0, 0.10000000000000009)
Errores y excepciones
- Si cualquiera de los argumentos (por ejemplo, x e y) es flotante, el resultado es (q, x% y). Aquí, q es la parte entera del cociente.
- Si el segundo argumento es 0, devuelve Error de división cero
- Si el primer argumento es 0, devuelve (0, 0)
Aplicación práctica: comprueba si un número es primo o no usando la función divmod().
Ejemplos:
Input : n = 7 Output :Prime Input : n = 15 Output :Not Prime
Algoritmo
- Inicialice una nueva variable, digamos x con el entero dado y un contador de variable a 0
- Ejecute un ciclo hasta que el entero dado se convierta en 0 y siga decrementándolo.
- Guarde el valor devuelto por divmod (n, x) en dos variables, digamos p y q
- Compruebe si q es 0, esto implicará que n es perfectamente divisible por x y, por lo tanto, incrementará el valor del contador
- Compruebe si el valor del contador es mayor que 2, si es así, el número no es primo, de lo contrario es primo
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')
Producción:
Not Prime
Más aplicaciones:
Ejemplo 1:
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)
Producción:
14
Ejemplo 2:
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)
Producción:
231
Publicación traducida automáticamente
Artículo escrito por AyushSaxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA