Exercices Structures de données Analyse de texte complète
🎉

Bravo!

Avancé 🧠 Fondamentaux 30 XP 0 personnes ont réussi

Analyse de texte complète

Pour terminer ce chapitre, on va combiner tout ce qu'on a vu : dictionnaires, sets, comprehensions et tuples dans un problème réaliste.

Imagine que tu dois analyser un texte pour un moteur de recherche. Tu as besoin de savoir quels mots apparaissent, combien de fois, et quels mots sont uniques (n'apparaissent qu'une seule fois).

Écris une fonction analyser_texte(texte) qui prend un texte (string) et renvoie un dictionnaire avec trois clés :
'nb_mots' : le nombre total de mots
'frequences' : un dictionnaire {mot: nombre_occurrences} (mots en minuscules)
'mots_uniques' : un set des mots qui n'apparaissent qu'une seule fois

Les mots sont simplement obtenus en découpant le texte avec .split() et mis en minuscules.

Exemple :
analyser_texte('Le chat et le chien') renvoie {
'nb_mots': 5,
'frequences': {'le': 2, 'chat': 1, 'et': 1, 'chien': 1},
'mots_uniques': {'chat', 'et', 'chien'}
}

Tests (4/5)

Cas normal
r = analyser_texte('Le chat et le chien')
assert r['nb_mots'] == 5
assert r['frequences'] == {'le': 2, 'chat': 1, 'et': 1, 'chien': 1}
assert r['mots_uniques'] == {'chat', 'et', 'chien'}
Un seul mot
r = analyser_texte('bonjour')
assert r['nb_mots'] == 1
assert r['frequences'] == {'bonjour': 1}
assert r['mots_uniques'] == {'bonjour'}
Texte vide
r = analyser_texte('')
assert r['nb_mots'] == 0
assert r['frequences'] == {}
assert r['mots_uniques'] == set()
Tous en double
r = analyser_texte('a a b b')
assert r['mots_uniques'] == set()

+ 0 tests cachés

Indices (3 disponibles)

solution.py