Analyse de mots
Fait partie de la section Logic & Flow du Journey Python de Coddy — leçon 77 sur 78.
Défi
DifficileCréez une fonction nommée analyze_text qui analyse les mots dans une chaîne de texte.
Votre fonction doit :
- Compter les mots uniques (insensible à la casse)
- Trouver tous les mots qui apparaissent plus d'une fois
- 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 foispalindromes: 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_wordsetpalindromespar 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
passToutes les leçons de Logic & Flow
1Exploration des variables
ConstantesAffectations multiplesÉchange de variablesVariables de substitutionArrondir des nombresCasting de listes4Application de carnet de contacts
Afficher le menuAjouter un contact7Ensembles Partie 2
Opérations mathématiques Partie 1Opérations mathématiques Partie 2Récapitulatif - Chasse au trésorSous-ensembles et sur-ensemblesItérer sur les ensemblesRécapitulatif - Suivi de tournoi10Compréhensions de listes basiques
La syntaxeCréer des listes simplesAjouter des conditionsUtiliser l'agrégation de donnéesRécapitulatif - House Of ListsRécapitulatif - Elements Of Freedom13Système de gestion des stocks
Présentation du projetAjouter un article2Les dictionnaires - 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érifications d'appartenanceVérifications d'identitéErreurs d'indentationRécapitulatif - Filtre de vacances8Gestionnaire de dossiers étudiants
Présentation du projetAjouter un étudiant11Fonctions avancées
Retourner plusieurs valeursFonctions Lambda - Partie 1Fonctions Lambda - Partie 2Défi récapitulatif - Tri 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 - Processeur de nombres3Dictionnaires - Partie 2
Méthodes de dictionnaireDictionnaires imbriquésVérification des clésParcourir les dictionnairesRécapitulatif - Compteur de fréquence6Les Ensembles - Partie 1
Qu'est-ce qu'un ensemble ?Opérations de baseMéthodes des ensemblesRécapitulatif - Supprimer les doublons9Agrégation de données avancée
Utilisation de SumTrouver le minimum et le maximumTrier les données efficacementRécapitulatif - Trieur de dictionnaires