I'm just getting started in python, and I'm trying to test a user-entered string as a palindrome. My code is:
x=input('Please insert a word')
y=reversed(x)
if x==y:
print('Is a palindrome')
else:
print('Is not a palindrome')
This always returns false because y becomes something like <reversed object at 0x00E16EF0>
instead of the reversed string.
What am I being ignorant about? How would you go about coding this problem?
Try this code.
Try this code:
print palindrome("hannah")
or in the case of numbers
Try
y = x[::-1]
. This uses splicing to get the reverse of the string.reversed(x)
returns an iterator for looping over the characters in the string in reverse order, not a string you can directly compare tox
.reversed
returns an iterator, which you can make into a string using thejoin
method:For future reference, a lambda from the answers above for quick palindrome check:
example use: