Avancé
🧠 Fondamentaux
30 XP
0 personnes ont réussi
Pipeline de nettoyage de texte
Voici un exercice qui combine tout ce qu'on a vu dans un cas qu'on rencontre vraiment en entreprise : nettoyer des données textuelles.
Quand tu recois des données utilisateur (formulaires, fichiers CSV, APIs), le texte est souvent sale : espaces en trop, majuscules aleatoires, caracteres speciaux. En programmation fonctionnelle, on crée un pipeline de petites fonctions de nettoyage qu'on compose ensemble.
L'idee : chaque fonction fait UNE chose. On les enchaine pour obtenir le résultat final.
Écris les fonctions suivantes : 1. supprimer_espaces_extremites(texte) : enleve les espaces au debut et a la fin 2. en_minuscules(texte) : met tout en minuscules 3. remplacer_multiples_espaces(texte) : remplace les sequences de plusieurs espaces par un seul espace 4. pipeline(fonctions) : compose une liste de fonctions de gauche a droite (comme l'exercice précédent) 5. Crée une variable nettoyer qui est le pipeline des trois fonctions dans l'ordre : supprimer_espaces_extremites, en_minuscules, remplacer_multiples_espaces.
Exemple : nettoyer(' BONJOUR LE MONDE ') renvoie 'bonjour le monde'
Tests (4/5)
Nettoyage complet
assert nettoyer(' BONJOUR LE MONDE ') == 'bonjour le monde'
Deja propre
assert nettoyer('bonjour') == 'bonjour'
Espaces seulement
assert nettoyer(' ') == ''
Majuscules et espaces
assert nettoyer(' Python Est GENIAL ') == 'python est genial'
+ 0 tests cachés
Indices (3 disponibles)
Solution officielle
def supprimer_espaces_extremites(texte):
return texte.strip()
def en_minuscules(texte):
return texte.lower()
def remplacer_multiples_espaces(texte):
while ' ' in texte:
texte = texte.replace(' ', ' ')
return texte
def pipeline(fonctions):
def resultat(x):
for func in fonctions:
x = func(x)
return x
return résultat
nettoyer = pipeline([supprimer_espaces_extremites, en_minuscules, remplacer_multiples_espaces])