Adloun

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

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →