Analyse de mots
Fait partie de la section Logique et flux du Journey Python de Coddy. Leçon 77 sur 78.
Défi
DifficileCréez une fonction nommée analyze_text qui analyse les mots d’une chaîne de texte.
Votre 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 (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 foispalindromes: 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_wordsetpalindromespar 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
passToutes les leçons de Logique et flux
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 dictionnairesEntraînez-vous par vous-même : Compilateur Python en ligne