我只是用python写了一个检查回文的程序。我不知道为什么它不起作用。任何帮助都将不胜感激。你知道吗
def palindrome(word):
rev_palindrome = []
for i in word[::-1]:
rev_palindrome.append(i)
" ".join(rev_palindrome)
if word == rev_palindrome:
print "It is a palindrome"
else:
print "It is not a palindrome"
palindrome(mom)
Tags:
试着这样做:
除了一些不必要的复杂因素外,问题的核心是使用
而不是:
您想知道为什么您的程序不能按预期工作。原因有两个:
" ".join(rev_palindrome)
表达式将返回一个字符串,其中包含revu回文中由" "
(空格)分隔的每个条目。因此,问题是您不希望将这些" "
放在中间,并且不希望将此字符串保存在任何位置。(此外,每次循环时都会调用join方法,这是不需要的。)palindrome(mom)
。你忘了引用"mom"
。你知道吗因此,您的解决方案的一个正确的工作版本是:
(但和其他海报一样,简单地检查
word == word[::-1]
是否更容易。)问题是在构造
rev_palindrome
时在每个字符之间插入空格。但是您已经知道如何反转word
中的字符,即它只是word[::-1]
。所以直接比较一下:相关问题 更多 >
编程相关推荐