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 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 to x
.
reversed
returns an iterator, which you can make into a string using the join
method:
y = ''.join(reversed(x))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With