a=raw_input("enter the word")
b=[str(letter) for letter in a]
c=b[::-1]
print c
if b==c:
print ("it is a palindrome")
else:
print "it is not a palindrome"
这个程序工作正常。只有一个问题我如何修改它,以便打印护士作为回文运行。它目前正在将nursesrun打印为回文。请帮助和建议。 此代码适用于python 2.7,请仅对此代码进行即兴创作。感谢。
答案 0 :(得分:2)
虽然有更好的方法可以做到这一点,但这个例子显示了代码的改进(特别是)。您可以查看letter.isalpha()
b = [str(letter) for letter in a if letter.isalpha()]
现在检查会有效。
演示:
>>> x = "nurses run"
>>> b=[str(letter) for letter in x if letter.isalpha()]
>>>
>>> b
['n', 'u', 'r', 's', 'e', 's', 'r', 'u', 'n']
>>> c = b[::-1]
>>> b == c
True
>>>
编辑:
使用replace
的代码:
x = x.replace(" ", "")
>>> x = "nurses run"
>>> x = x.replace(" ", "")
>>> x
'nursesrun'
请注意,您必须以这种方式明确替换每一种类型。
答案 1 :(得分:1)
你可以试试这个:
def is_palindrome(word):
return word == ''.join(reversed(word))
print is_palindrome('madam') #True