Python Divmod

Python Divmod
Casi todas las tareas de programación necesitan el uso de operaciones matemáticas. Al abordar un problema, a menudo necesitamos ejecutar operaciones aritméticas simples, y Python proporciona varias funciones para ayudarnos a lograr estas operaciones de manera más eficiente. La función divmod (), por ejemplo, acepta dos números no complejos como parámetros y devuelve un par de números que contienen su cociente y resto. La función DivMod () tiene la sintaxis DivMod (Val1, Val2). El método DivMod () acepta dos parámetros: 'Val1' es un número no complejo (numerador o dividendo) y 'Val2' es un número no complejo (numerador o dividendo) (denominador o divisor). El método DivMod (), cuando se ejecuta, devuelve una tuple. Es significativo tener en cuenta que contiene el cociente y el resto. Si 'Val1' y 'Val2' son enteros, el valor de retorno DivMod () es (Val1 / Val2, Val1%Val2). Si 'Val1' o 'Val2' es un valor flotante, el resultado de la función es (Q, Val1 por ciento Val2), donde Q indica todo el cociente y generalmente es similar a las matemáticas.piso (val1/ val2), pero puede ser uno menos. En el ejemplo a continuación, se utilizan enteros y flotadores.

Ejemplo 1:

En este ejemplo, usaremos la función DivMod () en los enteros 2,3,12 y 32. Después de eso, usamos la técnica DivMod () en los valores de flotación. Estos son 4.8, 4, 10.1 y 7.4, respectivamente. Nos proporcionan una tupla como resultado del uso de divmod (), que puede contener enteros y valores de flotación.

Imprimir ("2 y 3 Give:", Divmod (2,3))
Imprimir ("12 y 32 Give:", Divmod (12,32))
Imprimir ("4.8 y 4 dan: ", Divmod (5.6,2))
Imprimir ("10.1 y 7.4 dar: ", Divmod (11.3,9.2))

Cuando ejecutamos el código anterior, obtenemos el siguiente resultado.

Ejemplo 2:

Vamos a usar cero en este caso. Recuerde que si el primer argumento es cero, el resultado es (0,0). Y, como se esperaba, si la segunda entrada es cero, recibimos un error de zerodivision. Como puede ver en la primera línea de código, el primer argumento es cero, y el segundo argumento es seis. El (0.0) El resultado se obtiene cuando el método DivMod () se usa en estas entradas, como se ve en la captura de pantalla de salida. Prestar atención a la segunda línea de código; Notarás que la primera entrada es 6, y la segunda es 0. El ZeroDivisionError es lanzado por estos parámetros de entrada.

Imprimir ("0 y 6 Give:", Divmod (0,6))
Imprimir ("6 y 0 Give:", Divmod (6,0))

Obtenemos la siguiente salida cuando ejecutamos el código escrito anteriormente.

Ejemplo 3:

Ahora analizaremos la divisibilidad. Decimos que el primer entero es divisible por el segundo si el siguiente valor de la tupla posterior es 0. No es divisible si no es. Esto se demuestra en el ejemplo a continuación. Como puede ver, hemos establecido los valores de dos variables, 'A' y 'B', a 8 y 2. El método DivMod () se aplicó luego a estas variables. El segundo valor de la tupla después de la división es 0, como se ve en la captura de pantalla de salida. Significa que el primer y el segundo número son divisibles entre sí.

a = 8
b = 2
Cociente, resto = Divmod (a, b)
Imprimir (Cociente)
Imprimir (resto)
if (resto == 0):
imprimir (a, 'es divisible por', b)
demás:
imprimir (a, 'no es divisible por', b)

Aquí está el resultado del código de nuestro tercer programa Python.

Ejemplo 4:

En el segundo ejemplo al final, veremos si el entero es primo. Cuando comenzamos a distribuir un número al inicializar cada número hasta 1, podemos usar DivMod () para realizar un seguimiento de los recordatorios que crea. Debido a que ningún entero que no sea en sí mismo divide un número primo correctamente, el recuento de restos cero es solo uno. El número no es primo si el total de cero restos es mayor que uno.

val = 9
x = val
recuento = 0
Mientras que x != 0:
Q, resto = Divmod (Val, X)
x -= 1
Si el resto == 0:
recuento += 1
Si cuenta> 2:
imprimir (val, 'no es primo')
demás:
imprimir (val, 'es prime')

Aquí está el resultado del código para verificar si el entero es primo se menciona a continuación.

Ejemplo 5:

Utilizaremos el método DivMod () en valores negativos en nuestro ejemplo final. Para argumentos de entrada negativa, Val1, Val2 o ambos, usan DivMod (Val1, Val2). Si ambos parámetros son enteros, Python divide el primer elemento de la tupla devuelta usando la división entera Val1 / Val2 y Val1% Val2 para obtener el segundo elemento para obtener el segundo elemento. Las entradas negativas de Val1 o Val2 están permitidas en ambas operaciones. La tupla (a, b) que se devuelve se calcula para que a * val2 + b = val1. El ejemplo del código del programa Python para dos escenarios se muestra a continuación, donde la entrada es -20, -2, -20 y 2.

Imprimir (DivMod (-20, -2))
Imprimir (Divmod (-20, 2))

Recibimos el siguiente resultado cuando ejecutamos el código de Python mencionado anteriormente.

Conclusión:

En esta publicación, hemos revisado todas las características y el funcionamiento de la función Python DivMod () y algunos usos interesantes. El método DivMod () en Python toma dos valores como una lista de parámetros y los divide y los modula. La función divmod () como un par devuelve el cociente y el resto. Cuando se especifica un valor flotante a la función, produce el par de cocientes y el resto. Realiza esto eliminando el componente decimal de los valores posteriores. Si el segundo argumento proporcionado al método DivMod () es cero, se arroja un ZeroDivisionError. Si se suministra un entero complejo como un argumento a la función, lanza una excepción de TypeError. Como resultado de esta guía, ahora sabemos cómo funciona la función Python DivMod ().