Skip to content

Denombrement

But de l'éxercice

Écrire une fonction count_words() dans un fichier count.py afin de dénombrer les mots du texte passé en paramètre.

Comme cet exercice est (très) simple, il faudra vous démener pour trouver une, deux (voir plus) solutions différentes.

Et voila le script de tests unitaires: test_count.py

Exercice de base

Retourner un dictionaire associant chaque mot d'un texte au nombre de fois qu'il apparait.

>>> count_words("toto tata titi titi toto")
{"toto": 2, "tata": 1, "titi": 2}

Bonus numéro 1

Faire en sorte que la fonction reconnaisse les mots quelle que soit leur casse (majuscule et/ou minuscules).

>>> count_words("tOto Tata titI tiTi tOtO")
{"toto": 2, "tata": 1, "titi":2}

Bonus numéro 2

Faire en sorte que la fonction reconnaisse les mots même s'il y a de la ponctuation.

>>> count_words("tOto, Tata; titI. tiTi! tOtO?")
{"toto": 2, "tata": 1, "titi":2}

Bonus numéro 3

Faire en sorte que la fonction reconnaisse les mots d'un texte long avec des sauts de ligne.

>>> count_words("""
    Ce sont les lapins qui ont ete etonnes !...
    Depuis si longtemps qu'ils voyaient la porte du moulin
    fermee, les murs et la plate-forme envahis par les herbes,
    ils avaient fini par croire que la race des meuniers etait
    eteinte, et, trouvant la place bonne, ils en avaient fait
    quelque chose comme un quartier general, un centre
    d'operations strategiques : le moulin de Jemmapes des
    lapins...
    La nuit de mon arrivee, il y en avait bien, sans mentir,
    une vingtaine assis en rond sur la plate-forme, en train
    de se chauffer les pattes a un rayon de lune...
    Le temps d'entrouvrir une lucarne, frrt !
""")
{
    'la': 6, 'les': 4, 'en': 4, 'de': 4, 'ils': 3, 'un': 3,
    'lapins': 2, 'moulin': 2, 'et': 2, 'plate-forme': 2, 'par': 2,
    'avaient': 2, 'des': 2, 'd': 2, 'le': 2, 'une': 2, 'ce': 1,
    'sont': 1, 'qui': 1, 'ont': 1, 'ete': 1, 'etonnes': 1, 'depuis': 1,
    'si': 1, 'longtemps': 1, 'qu': 1, 'voyaient': 1, 'porte': 1,
    'du': 1, 'fermee': 1, 'murs': 1, 'envahis': 1, 'herbes': 1,
    'fini': 1, 'croire': 1, 'que': 1, 'race': 1, 'meuniers': 1,
    'etait': 1, 'eteinte': 1, 'trouvant': 1, 'place': 1, 'bonne': 1,
    'fait': 1, 'quelque': 1, 'chose': 1, 'comme': 1, 'quartier': 1,
    'general': 1, 'centre': 1, 'operations': 1, 'strategiques': 1,
    'jemmapes': 1, 'nuit': 1, 'mon': 1, 'arrivee': 1, 'il': 1, 'y': 1,
    'avait': 1, 'bien': 1, 'sans': 1, 'mentir': 1, 'vingtaine': 1,
    'assis': 1, 'rond': 1, 'sur': 1, 'train': 1, 'se': 1,
    'chauffer': 1, 'pattes': 1, 'a': 1, 'rayon': 1, 'lune': 1,
    'temps': 1, 'entrouvrir': 1, 'lucarne': 1, 'frrt': 1
}

Aide

Si vraiment vous êtes bloqué.e.s, vous pouvez regarder ces articles:

Solution

Voir la solution