Compter les occurrences des lettres de votre nom
Application directe du cours · niveau 1 (application) · NSI (première), chapitre 5 — Les dictionnaires · Itérer
Énoncé
Compter les occurrences des lettres de votre nom. Vérifier que la somme des effectifs égale la longueur de la chaîne — c'est la postcondition de occurrences.
Corrigé
nom = "Alame"
c = occurrences(nom.lower())
assert c == {"a": 2, "l": 1, "m": 1, "e": 1}
assert sum(c.values()) == len(nom)
for essai in ["", "aaaa", "Ibrahim"]:
assert sum(occurrences(essai).values()) == len(essai)
Le lower() est une décision, pas un détail : sans lui, "A" et "a" seraient deux clés distinctes et le dictionnaire aurait cinq entrées au lieu de quatre. La postcondition, elle, resterait vraie dans les deux cas — elle contrôle qu'on n'a rien perdu, pas qu'on a bien normalisé.
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.