Menu
Coddy logo textTech

Analyse de mots

Fait partie de la section Logic & Flow 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 dans une chaîne de texte.

Votre fonction doit :

  1. Compter les mots uniques (insensible à 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 manière dans les deux sens, comme "level")

Retournez 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

Notes :

  • Traitez les mots comme étant insensibles à 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."

Sortie attendue :

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

Essayez vous-même

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

Toutes les leçons de Logic & Flow