############################################################################# # Créé par Jean-Christophe BONNEFOY # le 01/09/2016 en Python 3.5.2 # Exercice 3 du TP n°4 ############################################################################# ############################################################################# # fonction qui va vérifier si la chaine ne contient que des lettres non accentuées # parametres : # - chaine : mot à vérifier # la fonction retourne True si tout est conforme et False sinon ############################################################################# def yatilquedeslettresnonaccentuees(chaine): reponse = True for i in range(0, len(chaine)): #on verifie dans la table ASCII code_ascii = ord(chaine[i]) if (code_ascii < 65) or (code_ascii > 90 and code_ascii < 97) or (code_ascii > 122): reponse = False break #on sort du For, on a trouvé un caractére qui ne va pas, alors pas la peine de continuer return reponse ############################################################################# # fonction qui va inverser la position des caracteres dans le mot en partant de la fin si la chaine ne contient que des lettres non accentuées # exemple maison --> nosiam # parametres : # - chaine : mot à inverser # la fonction retourne le mot inversé ############################################################################# def inversechaine(chaine): inverse = "" for i in range(0, len(chaine)): inverse += chaine[len(chaine)-1-i] return inverse #Affichage du titre print('------------------------------------------------------') print(" Est-ce un palindrome ? ") print('------------------------------------------------------') #saisie du mot à vérifier mot=input("Donner le mot à vérifier : ") #on verifie si le mot ne possede que des lettres non accentuées sinon on redemande une saisie conforme while(yatilquedeslettresnonaccentuees(mot) == False): mot=input("Redonner le mot à vérifier uniquement avec des lettres non accentuées : ") mot_inverse = inversechaine(mot) if (mot_inverse == mot): print ("OUI ",mot, " est un palindrome ") else : print ("NON ",mot, " n'est pas un palindrome ") print('------------------------------------------------------')