Adloun

NSI (première) · Chapitre 5 · Application directe du cours

n° 54

Les dictionnaires · Itérer · niveau 1 (application)

É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.

100 % gratuit

Essaie le suivant avec le tuteur

Faire l'exercice suivant avec le tuteur

Sans compte : le cours, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant avec le tuteur →