Python (école d'ingénieur) · Chapitre 2 · Exercice
Palindrome textuel
Structures de contrôle : conditions et boucles
Énoncé
Écrire une fonction est_palindrome(chaine) qui détermine si une chaîne de caractères est un palindrome (se lit identiquement dans les deux sens, en ignorant la casse et les espaces).
Corrigé
def est_palindrome(chaine):
# Nettoyage : minuscules et suppression des espaces
nettoyee = chaine.lower().replace(" ", "")
return nettoyee == nettoyee[::-1]
Solution alternative avec boucle :
def est_palindrome_boucle(chaine):
nettoyee = chaine.lower().replace(" ", "")
n = len(nettoyee)
for i in range(n // 2):
if nettoyee[i] != nettoyee[n - 1 - i]:
return False
return True
Complexité : en temps, en mémoire (ou avec la version boucle).
Test : est_palindrome("Engage le jeu que je le gagne") renvoie True.
100 % gratuit
La suite du chapitre est sur Adloun
- 4 autres exercices corrigés dans ce chapitre, et 5 à chercher avec le tuteur
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.