Menu
Coddy logo textTech

Analyse de mots

Fait partie de la section Logique et flux du Journey Python de Coddy. Leçon 77 sur 78.

challenge icon

Défi

Difficile

Créez une fonction nommée analyze_text qui analyse les mots d’une chaîne de texte.

Votre fonction doit :

  1. Compter les mots uniques (sans tenir compte de la casse)
  2. Trouver tous les mots qui apparaissent plus d’une fois
  3. Identifier tous les mots palindromes (les mots qui se lisent de la même façon à l’endroit et à l’envers, comme "level")

Renvoyez un dictionnaire avec trois clés :

  • unique_count : le nombre de mots uniques (comptez également les mots répétés une seule fois chacun)
  • repeated_words : une liste triée des mots apparaissant plus d’une fois
  • palindromes : une liste triée des mots palindromes

Remarques :

  • Traitez les mots sans tenir compte de la casse (par exemple, "Hello" et "hello" sont le même mot)
  • Supprimez toute ponctuation (.,!?:;"()) des mots
  • Triez les listes repeated_words et palindromes par ordre alphabétique

Exemple d’entrée :

"Madam saw a racecar. Dad said hello hello to mom."

Résultat attendu :

{
    'unique_count': 9,
    'repeated_words': ['hello'],
    'palindromes': ['a', 'dad', 'madam', 'mom', 'racecar']
}

Essayez vous-même

def analyze_text(text):
    # Votre solution ici
    
    # 1. Divisez le texte en mots et normalisez-les
    # (mettre en minuscules et supprimer la ponctuation)
    
    # 2. Comptez les occurrences de chaque mot
    
    # 3. Trouvez le nombre de mots uniques
    
    # 4. Identifiez les mots répétés (apparaissant plus d'une fois)
    
    # 5. Trouvez les mots palindromes
    
    # 6. Retournez les résultats dans un dictionnaire avec des listes triées
    pass

Toutes les leçons de Logique et flux

Entraînez-vous par vous-même : Compilateur Python en ligne