Adloun

divmod, ou les deux divisions d'un coup

Exercice supplémentaire · niveau 2 · sciences numériques et technologie (seconde), chapitre 2 — Variables, types et affectations · Les opérateurs arithmétiques

Énoncé

Python possède une fonction divmod(a, b) qui renvoie en une fois le quotient et le reste. Découvrir son fonctionnement, puis réécrire avec elle le programme qui décompose secondes en heures, minutes et secondes.

Corrigé

print(divmod(17, 5))   # (3, 2) : le quotient et le reste réunis

total = 7385
heures, reste = divmod(total, 3600)
minutes, secondes = divmod(reste, 60)
print(heures, "h", minutes, "min", secondes, "s")   # 2 h 3 min 5 s

Vérification : . ✓

divmod renvoie un couple de valeurs, que l'on récupère par affectation multiple — la même écriture que pour l'échange a, b = b, a. L'intérêt n'est pas seulement la brièveté : la division n'étant effectuée qu'une fois, on ne risque pas d'écrire // et % avec deux diviseurs différents par étourderie.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.