Palindrome en python

Fermé
ruka00 - Modifié le 7 juin 2022 à 22:50
 ruka00 - 8 juin 2022 à 01:02
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 40456 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 novembre 2024 9 418
8 juin 2022 à 00:34
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
0