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.