Ich kann nicht herausfinden, warum meine If-else-Anweisung nicht wie erwartet ausgeführt wird. Ich habe versucht, Code zu erstellen, um eine palindromische Zeichenfolge zu testen. Meine Druckfunktionen zeigen mir, dass die umgekehrte Methode funktioniert, aber wenn ich zur Vergleichsstufe komme, kann ich nicht erreichen, dass sie True zurückgibt. HierPython Vergleichsoperator
ist der Code:
def is_palindrome(a):
myList = []
for i in a:
myList.append(i)
print myList
new = myList.reverse()
print myList
print new
if myList == new:
return True
else:
return False
print is_palindrome("radar")
Dies ergibt Falsch. Ich habe auch versucht, die if-Anweisung auf if myList is new:
zu ändern, aber leider gibt es immer noch False zurück.
Jeder Einblick geschätzt!
Dank. Ich verstehe das Konzept von In-Place, aber warum gibt/rettet es diese Liste nicht auf die Variable "new"? EDIT: Ich sah nur Ihre Follow-up, danke! – arumiat
@arumiat Da per Definition eine Methode "in-place" ist, gibt sie nichts zurück. – DeepSpace
@arumiat Da die Zeile 'new = myList.reverse()' nichts zurückgibt, hat sie nur myList geändert. Ich bin mir nicht sicher, ob du das Konzept verstehst ... – Tim