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.