Python reverse() für Palindrome
Ich bin einfach nur erste Schritte in python, und ich bin versucht zu testen, einen vom Benutzer eingegebenen string ein Palindrom ist. Mein code ist:
x=input('Please insert a word')
y=reversed(x)
if x==y:
print('Is a palindrome')
else:
print('Is not a palindrome')
Dieser immer false zurück, da y wird zu etwas, wie <reversed object at 0x00E16EF0>
statt den umgedrehten string.
Was bin ich ignorant? Wie würden Sie gehen über die Programmierung dieses problem?
Nur weil eine Funktion heißt wie etwas, das Sie brauchen, bedeutet nicht, Sie können es verwenden, ohne zu sehen, es ist erste definition. Werfen Sie einen Blick auf dieser Seite.
wie wäre es, wenn ich benutzt habe:
Das ist wirklich nicht das, was Sie wollen, entweder für mehrere Gründe:
okay... :/ Vielleicht ist das nicht der beste Weg, aber ich will einfach nur, um ein Gefühl für die lang... wie würde ich es tun, durch die Behandlung
reversed
gibt ein iterator, und ich bin mir ziemlich sicher, dass ist nicht das, was Sie wollte.wie wäre es, wenn ich benutzt habe:
y=[x].reverse
?Das ist wirklich nicht das, was Sie wollen, entweder für mehrere Gründe:
[x]
erstellt ein einzelnes element der Liste, wo das erste element ist x
. Wenn du dann die Rückseite der Liste, Sie erhalten nun eine Liste zurück, statt einen iterator, so y
ist noch kein string.okay... :/ Vielleicht ist das nicht der beste Weg, aber ich will einfach nur, um ein Gefühl für die lang... wie würde ich es tun, durch die Behandlung
x
als eine Liste von chars (ok, so einzelne Zeichen, strings), und der Umkehrung dieser Liste?
InformationsquelleAutor Matthew Sainsbury | 2011-03-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen
y = x[::-1]
. Das Spleißen verwendet, um die Rückseite des Strings.reversed(x)
gibt einen iterator zum Durchlaufen der Zeichen in der Zeichenfolge in umgekehrter Reihenfolge, nicht ein string ist, können Sie direkt miteinander vergleichen zux
.InformationsquelleAutor Justin Ardini
reversed
gibt einen iterator, die Sie in einen string mit Hilfe derjoin
Methode:str(reversed(x))
Objekt bei 0x0000000002C53E80>'
Ahhhhhhhhrgh, sorry, Gehirn Furz. Ich nahm an, die
str()
Konstruktor dauern würde, alle durchsuchbar und verketten es in einen string. Das ist natürlich völlig falsch.Keine Sorge
InformationsquelleAutor user470379
Für die Zukunft, ein lambda aus den Antworten für die schnelle palindrome check:
Beispiel verwenden:
InformationsquelleAutor mirandalol
Versuchen, diesen code.
def pal(name): return name==name[::-1]
InformationsquelleAutor rickydj
oder im Fall von zahlen
InformationsquelleAutor Richard Hayes
Versuchen, diesen code:
drucken Palindrom("hannah")
InformationsquelleAutor Johanna Fulghum