Bonsoir
Je suis en terminal avec spécialité N.S.I . Voici l'exercice que j'arrive pas .
Je voudrais votre aide si vous pait .
Un palindrome un est mot qui se lit dans les deux sens comme "selles" ou "radar"
Compléter la fonction récursive suivante qui renvoie vrai si le mot passé en paramètre est un palindrome
Aide : du slicing
mot="selles"
mot[1:len(mot)-1]
# affiche elle
def palindrome(mot):
if len(mot)<=1:
return ...
else:
return mot[...]==mot[...] and palindrome(mot[...])
palindrome("selles")
def palindrome(mot):
if len(mot)<=1:
return mot[0]
else:
return mot[0]==mot[-1] and palindrome(mot[-1:])
palindrome("selles")
J'ai fait aussi ça :
def palindrome(mot):
if len(mot)<=1:
return mot
else:
return mot[0]==mot[-1] and palindrome(mot[:-1])
palindrome("selles")
* Dans tes deux codes, tu fais la même erreur dans le if len(mot) <= 1 de retourner mot ou mot[0], alors que tu veux retourner True dans ce cas
* Dans ce code:
def palindrome(mot):
if len(mot)<=1:
return mot[0]
else:
return mot[0]==mot[-1] and palindrome(mot[-1:])
palindrome("selles")
def palindrome(mot):
if len(mot)<=1:
return mot
else:
return mot[0]==mot[-1] and palindrome(mot[:-1])
palindrome("selles")
Sinon pour la suite voilà deux autres versions, non récursives
def palindrome(mot):
return len(mot) <= 1 or mot == mot[::-1]
def palindrome(mot):
return len(mot) <= 1 or all(mot[i] == mot[~i] for i in range(len(mot)>>1))
def palindrome(mot):
if len(mot)<=1:
return True
else:
return mot[0]==mot[-1] and palindrome(mot[-1:])
palindrome("selles")
salut,
Cette aide a-t-elle un interet ?
Aide : du slicing
mot="selles"
mot[1:len(mot)-1]
# affiche elle
cette aide est peut etre utile
Pourrais-tu decrire en une phrase (langage naturel) les instructions qui devraient etre situees apres le dernier return ?
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :