Menu
CoddyTech

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ée une fonction nommée analyze_text qui analyse les mots d’une chaîne de texte.

Ta 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 (des mots qui se lisent de la même façon dans les deux sens, comme "level")

Renvoyer un dictionnaire avec trois clés :

  • unique_count : le nombre de mots uniques (compter aussi chaque mot répété une seule fois)
  • repeated_words : une liste triée des mots qui apparaissent plus d’une fois
  • palindromes : une liste triée des mots palindromes

Remarques :

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

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. Découper le texte en mots et les normaliser
    # (les mettre en minuscules et supprimer la ponctuation)
    
    # 2. Compter les occurrences de chaque mot
    
    # 3. Trouver le nombre de mots distincts
    
    # 4. Identifier les mots répétés (apparaissant plus d’une fois)
    
    # 5. Trouver les mots palindromes
    
    # 6. Renvoyer 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