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.
A voir également:

1 réponse

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