Cours Python – 14 Octobre 2025

Correction des exercices Python de la semaine passée

La séance a débuté par la correction collective des exercices Python réalisés la semaine précédente. L’objectif était de consolider la compréhension des structures conditionnelles et des manipulations de chaînes de caractères.

Évaluation sur Google Colab

Une petite évaluation a ensuite été réalisée directement sur Google Colab :

👉 Lien vers l’évaluation

Exercice : vérifier si une chaîne de caractères est un palindrome

Consigne : Créer un code à partir de rien permettant de déterminer si une chaîne de caractères est un palindrome (c’est-à-dire une chaîne qui se lit dans les deux sens, comme “kayak” ou “radar”).

Exemple d’une approche incorrecte ou trop complexe :


moite = len(texte) / 2
newtext = []
letter = ""
if letter in texte not in newtext:
    newtext.append(letter)
if texte == newtext:
    return True
if texte != newtext:
    return False

➡️ Cette approche montre une tentative de comparaison, mais elle est inutilement compliquée et ne fonctionne pas correctement. L’idée de base (parcourir et comparer) est bonne, mais l’implémentation doit être simplifiée.

Solution correcte : fonction est_palindrome()

Voici une version fonctionnelle, plus claire et plus efficace, utilisant la manipulation de chaînes et la fonction reversed() :


def est_palindrome(texte):
    texte2 = (texte).casefold()         # Met en minuscule pour ignorer la casse
    texte2 = (texte2).replace(" ", "")  # Supprime les espaces

    texte1 = "".join(reversed(texte2))  # Inverse la chaîne
    if texte2 == texte1:
        return True
    else:
        return False
💡 Astuce : La méthode casefold() est plus robuste que lower() pour comparer des chaînes sans tenir compte de la casse. En supprimant les espaces, la fonction peut détecter les palindromes même dans des phrases.