我想知道一个单词或短语是否是回文。
当我输入" racecar"。
时,我得到了正确的答案但每当我输入一些包含标点符号的内容时,如果它是一只猫,我看到了吗?",我得错了答案。
这是我到目前为止的编程。
请看一看并告诉我错误。
提前致谢。
a1=input("Enter a word or phrase: ")
a=a1.lower()
b=len(a)
c=[]
for i in range(1,b+1):
d=b-i
c.append(a[d])
e="".join(c for c in a1 if c not in ("!",".",":","?"," "))
if e==a:
print (a1,"is a palindrome.")
else:
print (a1,"is not a palindrome.")
答案 0 :(得分:1)
这应该规范化字符串:
s="race. car, "
"".join(x for x in s if x.isalpha())
print s
给出
racecar
您可以使用s.isalnum
代替字符串
对于测试:
if e == e[::-1]: print "palindrome"
答案 1 :(得分:0)
对于字符串的反转,您可以使用反向方法
c= a.reverse()
c.replace (' ','')
a.replace(' ','')
If a == c :
Print ("pallindrome ")
Else :
Print("not a pallindrome !! )
答案 2 :(得分:0)
你想要的实际上在Python中非常简单:
a = [c for c in input() if c.isalpha()]
if list(reversed(a)) == a:
print('palindrome')
else:
print('not palindrome')
答案 3 :(得分:0)
一种选择是使用str.translate
并将要删除的字符作为参数传递:
web/index?searchkey='something'