我面对这个问题,不知道解决它的方法。代码工作良好,但无论如何,它回答说,'消息'不是palyndrom,即使它真的palindrom。但是当我用一个词修改它时,它就去了。谢谢!
import string
def MultiplePalyndrome():
isPalyndrome = True
message = input('Your message\n').lower()
punct = set(string.punctuation)
gap = set(string.whitespace)
message_revis = ''.join(x for x in message if x not in punct or x not in gap)
i = 0
while i < len(message_revis) / 2 and isPalyndrome:
if message_revis[i] != message_revis[len(message_revis) - i - 1]:
isPalyndrome = False
i = i + 1
if isPalyndrome:
print("It's palyndrome! Yeah.")
else:
print("Nope. It's NOT palyndrome!")
MultiplePalyndrome()
我真的不知道是什么问题。
1条答案
按热度按时间mwngjboj1#
总是为真,因为每个字符都是 * 非空格 * 或 * 非标点符号 *。您可能需要:
它通过DeMorgan's Law转换为: