Analyse de mots
Fait partie de la section Logique et flux du Journey Python de Coddy. Leçon 77 sur 78.
Défi
DifficileCrée une fonction nommée analyze_text qui analyse les mots d’une chaîne de texte.
Ta fonction doit :
- Compter les mots uniques (sans tenir compte de la casse)
- Trouver tous les mots qui apparaissent plus d’une fois
- 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 foispalindromes: 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_wordsetpalindromes
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
passToutes les leçons de Logique et flux
1Exploration des variables
ConstantesAffectations multiples de variablesÉchange de variablesVariables de remplacementArrondir les nombresConversion en liste4Application de carnet de contacts
Afficher le menuAjouter un contact7Ensembles, partie 2
Opérations mathématiques, partie 1Opérations mathématiques, partie 2Révision - Chasse au trésorSous-ensembles et sur-ensemblesParcourir les ensemblesRévision - Suivi du tournoi10Compréhensions de liste de base
La syntaxeCréer des listes simplesAjouter des conditionsUtiliser l’agrégation de donnéesRécapitulatif - La maison des listesRécapitulatif - Les éléments de la liberté13Système de gestion des stocks
Présentation du projetAjouter un article2Dictionnaires, partie 1
Qu’est-ce qu’un dictionnaire ?Créer un dictionnaireAccéder aux valeursModifier des dictionnairesRécapitulatif – Gestionnaire de recettes5Prise de décision avancée
Opérateur ternaireVérifier l’appartenanceVérifier l’identitéErreurs d’indentationRécapitulatif – Filtre de vacances8Gestionnaire des dossiers étudiants
Présentation du projetAjouter un étudiant11Fonctions avancées
Retourner plusieurs valeursFonctions lambda, partie 1Fonctions lambda, partie 2Défi récapitulatif - Tri avec lambdaFonctions récursives, partie 1Fonctions récursives, partie 2Récapitulatif - Somme d’une liste imbriquée14Fonctions d’ordre supérieur
La fonction mapLa fonction filterRécapitulatif - Validateur d’e-mailsRécapitulatif - Traitement de nombres3Dictionnaires, partie 2
Méthodes des dictionnairesDictionnaires imbriquésVérifier la présence de clésParcourir les dictionnairesRécapitulatif - Compteur de fréquences6Ensembles, partie 1
Qu’est-ce qu’un ensemble ?Opérations de baseMéthodes des ensemblesRécapitulatif - Supprimer les doublons9Agrégation avancée de données
Utiliser la sommeTrouver le minimum et le maximumTrier les données efficacementRécapitulatif - Trieur de dictionnairesEntraînez-vous par vous-même : Compilateur Python en ligne