Le module collections fournit Counter, un compteur tout fait
Exercice supplémentaire · niveau 2 · NSI (première), chapitre 5 — Les dictionnaires · Les outils de la bibliothèque
Énoncé
Le module collections fournit Counter, un compteur tout fait. Le comparer à occurrences. Puis lire une clé absente d'un Counter : que se passe-t-il ?
Corrigé
from collections import Counter
mot = "anticonstitutionnellement"
assert dict(Counter(mot)) == occurrences(mot)
assert Counter(mot).most_common(2) == [("n", 5), ("t", 5)]
most_common fait en un appel le travail de l'exercice top — et confirme au passage l'ex aequo entre n et t.
La lecture d'une clé absente ne lève rien.
c = Counter("abc")
assert c["z"] == 0 # PAS de KeyError
assert "z" not in c # ... et la cle n'a pas ete creee
C'est un get(x, 0) intégré. Commode, mais à double tranchant : une faute de frappe dans une clé rend au lieu de signaler l'erreur — le programme continue avec une valeur plausible et fausse. Savoir écrire occurrences à la main reste l'objectif du chapitre ; Counter est ce qu'on utilise après l'avoir compris.
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.