Python的reverse()用于回文

发布于 2024-10-20 07:18:50 字数 326 浏览 8 评论 0原文

我刚刚开始使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

忆离笙 2024-10-27 07:18:50

尝试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 to x.

年少掌心 2024-10-27 07:18:50

reversed 返回一个迭代器,您可以使用 join 方法将其转换为字符串:

y = ''.join(reversed(x))

reversed returns an iterator, which you can make into a string using the join method:

y = ''.join(reversed(x))
当爱已成负担 2024-10-27 07:18:50

为了供将来参考,使用上面答案中的 lambda 进行快速回文检查:

isPali = lambda num: str(num) == str(num)[::-1]

示例使用:

isPali(9009) #returns True

For future reference, a lambda from the answers above for quick palindrome check:

isPali = lambda num: str(num) == str(num)[::-1]

example use:

isPali(9009) #returns True
幸福丶如此 2024-10-27 07:18:50

试试这个代码。

def pal(name):
        sto_1 = []
        for i in name:
                sto_1.append(i)

        sto_2 = []
        for i in sto_1[::-1]:
                sto_2.append(i)

        for i in range(len(name)):
                if sto_1[i] == sto_2[i]:
                        return "".join(sto_1), "".join(sto_2)
                else:
                        return "no luck"

name = raw_input("Enter the word :")
print pal(name)

Try this code.

def pal(name):
        sto_1 = []
        for i in name:
                sto_1.append(i)

        sto_2 = []
        for i in sto_1[::-1]:
                sto_2.append(i)

        for i in range(len(name)):
                if sto_1[i] == sto_2[i]:
                        return "".join(sto_1), "".join(sto_2)
                else:
                        return "no luck"

name = raw_input("Enter the word :")
print pal(name)
戒ㄋ 2024-10-27 07:18:50
list(reverse( mystring )) == list( mystring )

或者在数字的情况下

list(reverse( str(mystring) )) == list( str(mystring) )
list(reverse( mystring )) == list( mystring )

or in the case of numbers

list(reverse( str(mystring) )) == list( str(mystring) )
我的奇迹 2024-10-27 07:18:50

试试这个代码:

def palindrome(string):
    i = 0 
    while i < len(string):
        if string[i] != string[(len(string) - 1) - i]:
            return False
        i += 1
    return True

print palindrome("hannah")

Try this code:

def palindrome(string):
    i = 0 
    while i < len(string):
        if string[i] != string[(len(string) - 1) - i]:
            return False
        i += 1
    return True

print palindrome("hannah")

东京女 2024-10-27 07:18:50

尝试此代码来查找是否是原始的 &反转是否相同:-

if a == a[::-1]: 

#这将反转给定的字符串,最终会让您知道给定的字符串是否是回文。

Try this code to find whether original & reverse are same or not:-

if a == a[::-1]: 

#this will reverse the given string, eventually will give you idea if the given string is palindrome or not.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文