Palindrome en python

Bonjour,

def palindrome(phrase_bis):

    variable = True
    i = 0

    while variable == True and i < len(phrase_bis) :
        if phrase_bis[i] == phrase_bis[len(phrase_bis)-i] :
                variable = True
        else :
            variable = False
        i = i + 1

    return  variable


phrase_bis = input(" entrer votre phrase : ")
palindrome(phrase_bis)
print(palindrome)

quelqu'un sait pourquoi mon progamme ne marche pas ?li
Configuration: Configuration: Windows / Firefox 101.0

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

1 réponse

  1. Modérateur
    Bonjour,

    La longueur de la chaine "anna" est 4, mais les indices vont de 0 à 3. Puis si tu veux récupérer le retour de la fonction, il faut la mettre dans une variable.

    def palindrome(phrase_bis):
        variable = True
        i = 0
        while variable == True and i < len(phrase_bis) :
            if phrase_bis[i] == phrase_bis[len(phrase_bis)-i-1] :
                    variable = True
            else :
                variable = False
            i = i + 1
        return  variable
    phrase_bis = input(" entrer votre phrase : ")
    reponse=palindrome(phrase_bis)
    print(phrase_bis,reponse)


    Après si tu veux vraiment traiter les phrases palindromes, il faudrait ne pas tenir compte des espaces, et dans l'absolu des accents, majuscules et ponctuations.
    1. merci beaucoup pour votre aide monsieur