Fonction divmod() de Python3

Python3 内置函数Fonctions intégrées de Python3

La fonction divmod() de Python accepte deux paramètres numériques (non complexes) et renvoie un tuple (a // b, a % b) contenant le quotient et le reste.

Dans Python 3.x, cette fonction ne prend pas en charge les nombres complexes.

Syntaxe de la fonction

La fonction divmod() accepte deux paramètres, généralement deux nombres, et renvoie un tuple contenant deux valeurs. La première valeur est le quotient (c'est-à-dire la partie entière) du premier paramètre divisé par le second paramètre, et la seconde valeur est le reste.

divmod(a, b)

Description des paramètres :

  • a : Nombre, non complexe.
  • b : Nombre, non complexe.

Si les deux paramètres a et b sont des entiers, le résultat renvoyé par la fonction est équivalent à(a // b, a % b)。

Si l’un des paramètres est un float, le résultat renvoyé par la fonction est équivalent à (q, a % b), où q vaut généralement math.floor(a / b), mais peut aussi être inférieur de 1 à cette valeur. Cependant, la valeur de q * b + a % b sera très proche de a.

Si le résultat de a % b n’est pas 0, le signe du reste est le même que celui du paramètre b. Si b est positif, le reste est positif ; si b est négatif, le reste est aussi négatif, et 0 <= abs(a % b) < abs(b).

Exemple

>>> divmod(7, 2)
(3, 1)
>>> divmod(8, 2)
(4, 0)
>>> divmod(8, -2)
(-4, 0)
>>> divmod(3, 1.3)
(2.0, 0.3999999999999999)

Scénarios d’application de la fonction divmod()

divmod() est très utile dans des scénarios tels que la conversion de temps et le calcul de pagination.

1. Conversion de temps. Par exemple, convertissez un total de secondes en heures, minutes et secondes :

Exemple

total_seconds = 3661
hours, remainder = divmod(total_seconds, 3600)
minutes, seconds = divmod(remainder, 60)
print(f{hours} heures {minutes} minutes {seconds} secondes)  # Sortie : 1 heure 1 minute 1 seconde

2. Calcul de pagination. Dans un système de pagination, divmod() peut être utilisé pour calculer le nombre total de pages et le nombre d’enregistrements sur la dernière page :

Exemple

total_items = 101
items_per_page = 10
pages, remainder = divmod(total_items, items_per_page)
if remainder:
    pages += 1
print(fTotal des pages : {pages})  # Sortie : Total des pages : 11

Précautions pour la fonction divmod()

Le deuxième paramètre de la fonction divmod() ne peut pas être 0, sinon cela lèvera une exception ZeroDivisionError.

Les types du quotient et du reste renvoyés par la fonction divmod() dépendent des types des paramètres d'entrée. Si les paramètres d'entrée sont des entiers, le quotient et le reste renvoyés sont également des entiers ; si les paramètres d'entrée sont des nombres à virgule flottante, le quotient et le reste renvoyés sont également des nombres à virgule flottante.

Python3 内置函数Fonctions intégrées de Python3

Autres extensions