Dies ist mein Code zur Zeit:ich auf meinem Palindrom Programm in Python Hilfe benötigen
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()
Und es funktioniert nicht. Ich habe die folgenden Anpassungen vorgenommen, wenn ich sie in den Foren gefunden und es hat funktioniert:
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()
Meine Frage ist, warum nicht die erste Version der Arbeit? Es druckt immer: Der Satz ist kein Palindrom.
'list.reverse()' 'kehrt None', weil die Liste an Ort und Stelle umgekehrt. –
@ TigerhawkT3: 'reversed()' gibt einen Iterator zurück, und Gleichheit testet den Inhalt nur dann nicht, wenn sie das gleiche Objekt sind (sogar 'reversed (l) == reversed (l)' ist 'False' wie sie sind zwei separate Iteratoren). –
'L.reverse' kehrt die Liste um. Wenn Sie versuchen, es einer Variablen zuzuordnen, erhalten Sie 'None'. –