Adloun

Construire un dictionnaire associant à chaque mois son nombre de…

Application directe du cours · niveau 1 (application) · NSI (première), chapitre 5 — Les dictionnaires · Construire, lire, modifier

Énoncé

Construire un dictionnaire associant à chaque mois son nombre de jours, puis afficher les mois de jours. Vérifier que la somme des valeurs vaut .

Corrigé


JOURS = {"janvier": 31, "fevrier": 28, "mars": 31, "avril": 30, "mai": 31,
         "juin": 30, "juillet": 31, "aout": 31, "septembre": 30,
         "octobre": 31, "novembre": 30, "decembre": 31}

longs = [mois for mois, n in JOURS.items() if n == 31]
assert longs == ["janvier", "mars", "mai", "juillet", "aout",
                 "octobre", "decembre"]
assert len(longs) == 7
assert sum(JOURS.values()) == 365

La somme des valeurs est la meilleure vérification possible de la saisie : elle contrôle les douze entrées d'un coup, sans les relire une à une. Un tapé à la place d'un donnerait . Notez qu'items() sert ici parce qu'on a besoin du mois et du nombre ; values() aurait suffi pour la somme.

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.