Ceci est mon code actuellement:besoin d'aide sur mon programm palindrome en python
def main():
list1 = [(x) for x in input()]
if (list1 == list1.reverse()):
print("The sentence is a palindrome.")
else:
print("The sentence is not a palindrome.")
main()
Et ça ne fonctionne pas. J'ai fait les ajustements suivants quand je les ai trouvés sur les forums et cela a fonctionné:
def main():
list1 = [(x) for x in input()]
if (list1 == list1[::-1]):
print("The sentence is a palindrome.")
else:
print("The sentence is not a palindrome.")
main()
Ma question est, pourquoi ne fonctionne pas la première version? Il imprime toujours: La phrase n'est pas un palindrome.
'list.reverse()' renvoie 'None' car la liste est inversée. –
@ TigerhawkT3: 'reverse()' renvoie un itérateur, et l'égalité ne testera pas le contenu, seulement s'il s'agit du même objet (même 'reverse (l) == reversed (l)' est 'False' car ils sont deux itérateurs séparés). –
'L.reverse' inverse la liste en place. Si vous essayez de l'assigner à une variable, vous obtenez 'None'. –