Función Python3 divmod()
Funciones integradas de Python3
La función divmod() de Python recibe dos parámetros de tipo numérico (no complejos) y devuelve una tupla que contiene el cociente y el resto (a // b, a % b).
En la versión de Python 3.x, esta función no admite números complejos.
Sintaxis de la función
La función divmod() acepta dos parámetros, normalmente dos números, y devuelve una tupla con dos valores. El primer valor es el cociente de dividir el primer parámetro entre el segundo (es decir, la parte entera), y el segundo valor es el resto.
divmod(a, b)
Descripción de parámetros:
- a: número, no complejo.
- b: número, no complejo.
Si tanto el parámetro a como el parámetro b son enteros, el resultado devuelto por la función equivale a(a // b, a % b)。
Si uno de los parámetros es un número de punto flotante, el resultado devuelto por la función equivale a (q, a % b), donde q suele ser math.floor(a / b), pero también puede ser 1 menor que a/b; sin embargo, el valor de q * b + a % b estará muy cerca de a.
Si el resultado de a % b no es 0, el signo del resto es el mismo que el del parámetro b; si b es positivo, el resto es positivo; si b es negativo, el resto también es negativo, y 0 <= abs(a % b) < abs(b).
Ejemplo
(3, 1)
>>> divmod(8, 2)
(4, 0)
>>> divmod(8, -2)
(-4, 0)
>>> divmod(3, 1.3)
(2.0, 0.3999999999999999)
Escenarios de aplicación de la función divmod()
divmod() es muy útil en escenarios como la conversión de tiempo y el cálculo de paginación.
1. Conversión de tiempo: por ejemplo, convertir el total de segundos en horas, minutos y segundos:
Ejemplo
hours, remainder = divmod(total_seconds, 3600)
minutes, seconds = divmod(remainder, 60)
print(f{hours} horas {minutes} minutos {seconds} segundos) # Salida: 1 hora 1 minuto 1 segundo
2. Cálculo de paginación: en un sistema de paginación, divmod() se puede utilizar para calcular el número total de páginas y el número de registros en la última página:
Ejemplo
items_per_page = 10
pages, remainder = divmod(total_items, items_per_page)
if remainder:
pages += 1
print(fTotal de páginas: {pages}) # Salida: total de páginas: 11
Precauciones de la función divmod()
El segundo parámetro de la función divmod() no puede ser 0; de lo contrario, se produce la excepción ZeroDivisionError.
El tipo del cociente y del resto devueltos por la función divmod() depende del tipo de los parámetros de entrada. Si los parámetros de entrada son enteros, el cociente y el resto devueltos también son enteros; si los parámetros de entrada son de punto flotante, el cociente y el resto devueltos también son de punto flotante.
Otras extensiones