Palindrome en python

ruka00 -  
 ruka00 -
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. jee pee Messages postés 31869 Date d'inscription   Statut Modérateur Dernière intervention   9 974
     
    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
    1. ruka00
       
      merci beaucoup pour votre aide monsieur
      0