回文句,如何忽略标点符号

时间:2016-01-04 17:03:59

标签: python python-3.x

word = input("Enter a word:")
a = word[::-1]
print (a)

if a == word:
    print ("The entered word is a palindrome.")
if a != word:
    print ("The entered word is not a palindrome.")

这是我目前的代码,以查看单词是否是回文。 回文是一个向后/向前写相同的词。例如妈妈和爸爸,汉娜等。

我如何更改此内容以便我也可以将其用作短语? 例如,一个短语可能是: " Lisa Bonet吃了没有罗勒"

然而,根据我所拥有的代码,它不会将该句子视为回文。我需要做些什么才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用string.punctuation

import string
p = string.punctuation
s = "Lisa Bonet ate no basil"
word = ''.join([x for x in s.lower() if not x in p]).replace(' ','') ## 'lisabonetatenobasil'

## Your logic here

您想要删除所有空格(因此.replace(' ','')),并且您还希望标准化案例(因此.lower())以获得回文。