Python的reverse()用于回文
我刚刚开始使用 python,我正在尝试将用户输入的字符串作为回文进行测试。我的代码是:
x=input('Please insert a word')
y=reversed(x)
if x==y:
print('Is a palindrome')
else:
print('Is not a palindrome')
这总是返回 false,因为 y 变成类似
而不是反向字符串。 我到底在无知什么?您将如何解决这个问题?
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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
尝试
y = x[::-1]
。这使用拼接来获得字符串的反转。reversed(x)
返回一个迭代器,用于以相反顺序循环字符串中的字符,不是可以直接与x
进行比较的字符串。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
返回一个迭代器,您可以使用join
方法将其转换为字符串:reversed
returns an iterator, which you can make into a string using thejoin
method:为了供将来参考,使用上面答案中的 lambda 进行快速回文检查:
示例使用:
For future reference, a lambda from the answers above for quick palindrome check:
example use:
试试这个代码。
Try this code.
或者在数字的情况下
or in the case of numbers
试试这个代码:
print palindrome("hannah")
Try this code:
print palindrome("hannah")
尝试此代码来查找是否是原始的 &反转是否相同:-
#这将反转给定的字符串,最终会让您知道给定的字符串是否是回文。
Try this code to find whether original & reverse are same or not:-
#this will reverse the given string, eventually will give you idea if the given string is palindrome or not.