Función Python3 divmod()

Python3 内置函数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

>>> divmod(7, 2)
(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

total_seconds = 3661
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

total_items = 101
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.

Python3 内置函数Funciones integradas de Python3

Otras extensiones