Я пытаюсь удалить пунктуацию, чтобы проверить, является ли фраза (или слово) палиндромом, хотя, когда у меня есть слово с числами, они удаляются, и оно возвращает True вместо False. «1a2» после очистки пунктуации с подпунктами возвращает «a», хотя это все равно должно дать мне «1a2». Я думал, что взял только пунктуацию для замены.
import re
def isPalindrome(s):
clean = re.sub("[,.;@#?+^:%-=()!&$]", " ", s)
lower = ''.join([i.lower() for i in clean.split()])
if lower == lower[::-1]:
return True
else:
return False
print(isPalindrome("1a2"))