回文是一个词或一个短语,是相同的,当读向前和向后。示例如下:“bob”、“sees”或“never odd or even”(忽略空格)。写一个程序,它的输入是一个单词或短语,并输出输入是否是回文。
我只说对了一半。我的代码是为鲍勃工作,并看到。当一个输入是“从来没有奇数或偶数”我的代码不工作,它显示不是一个回文,但它应该是一个回文。
我做错了什么?
word = str(input())
new = word.replace(" ", "")
new = new[::-1]
if word == new:
print('{} is a palindrome'.format(word))
else:
print('{} is not a palindrome'.format(word))
6条答案
按热度按时间vwhgwdsa1#
您正在比较
word
和new
,但是为了生成new
,您已经删除了所有空格。vmdwslir2#
这是因为行
new = word.replace(" ", "")
-word
中保留了空格。您应该创建一个没有空格的word
版本,将其反转,然后将其与没有空格的word
进行比较。例如:
avkwfej43#
试试这个
57hvy0tb4#
我的答案,有点丑,但我只是不断添加的东西,直到它是正确的。
unguejic5#
虽然其他代码可能工作,但这是我用来确保一切正确的代码。我甚至不用使用堆栈溢出。罕见
izj3ouym6#