PythonLeçon 16 sur 16
Projet final : statistiques de texte en Python
Il est temps de tout assembler. Vous allez écrire un programme qui lit l’avis laissé sur un café et trouve les mots qui reviennent le plus.
L’essentiel
- lower() et replace() nettoient le texte, split() le découpe en mots
- Un dictionnaire fait un excellent compteur : counts[word] = counts.get(word, 0) + 1
- sorted(..., key=fonction) trie selon ce que renvoie la fonction
- Le moins devant count place les grands nombres en tête ; le mot départage les égalités
- top[:3] est une tranche avec les trois premières paires
Exemple
text = "Hello, hello world!"clean = text.lower().replace(",", "").replace("!", "")words = clean.split()print(words) counts = {}for word in words: counts[word] = counts.get(word, 0) + 1print(counts)Plus de ponctuation, tout en minuscules, et le dictionnaire a compté chaque mot. hello apparaît deux fois, même si l’un avait une majuscule.
Exercice
Utiliser l’éditeur⌘ Entrée ou Ctrl Entrée lance le code, ⇧ ⌘ Entrée vérifie l’exercice.Tab et Maj Tab indentent la ligne ou la sélection ; Échap puis Tab quitte l’éditeur.La vérification compare ce que le programme a affiché à l’exercice ; les espaces en fin de ligne ne comptent pas.Après deux vérifications ratées, la solution s’ouvre. Votre code reste dans ce navigateur.Terminez le programme : count_words doit renvoyer un dictionnaire avec chaque mot et son nombre d’apparitions, puis affichez les trois mots les plus fréquents au format coffee: 3.
Sortie
Ce que le programme affiche apparaîtra ici.