n° 54
Application directe du cours · niveau 1 (application) · NSI (première), chapitre 5 — Les dictionnaires · Itérer
Énoncé
Écrire moyenne_valeurs(d). Quelle précondition, cette fois ?
Corrigé
def moyenne_valeurs(d):
"""Moyenne des valeurs de d. Precondition : d est NON VIDE."""
assert len(d) > 0, "moyenne d'un dictionnaire vide"
return sum(d.values()) / len(d)
assert moyenne_valeurs({"a": 2, "b": 4}) == 3.0
try:
moyenne_valeurs({})
assert False
except AssertionError as e:
assert "vide" in str(e)
Sans la précondition, le dictionnaire vide donnerait ZeroDivisionError : une erreur qui parle du code et non du problème. L'assert arrête au même endroit, mais en disant pourquoi.
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.