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 :
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
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.