Как убрать знаки препинания в тексте что бы проверить его на палиндром?

Ввести с клавиатуры строку и определить является ли она полиндромом. Учесть что символы знаков припинания и разделения текста не учитываются при поиске полиндрома, учитываются только буквы и цифры. Причем ручной выбор символов будет низко оценен!

str_1 = input()

print(f" {str_1} is Polindrom" if str_1 == str_1[::-1] else f" {str_1} is NOTT Polindrom")

Условий вроде никаких нет кроме того что ручной выбор символов будет низко оценен

Кони, топот, инок,

Но не речь, а черен он.

Идем, молод, долом меди.

Чин зван мечем навзничь.

Голод, чем меч долог?

Пал, а норов худ и дух ворона лап.

А что? Я лав? Воля отча!

Яд, яд, дядя!

Иди, иди!

Мороз в узел, лезу взором

Солов зов, воз волос.

Колесо. Жалко поклаж. Оселок.

Сани, плот и воз, зов и толп и нас.

Горд дох, ход дрог.

И лежу. — Ужели?

Зол, гол лог лоз.

И к вам и трем с смерти мавки.


Ответы (1 шт):

Автор решения: Zhihar

Ну можно использовать регулярные выражения:

line = "Горд дох, ход дрог.\nИ лежу. — Ужели?"

import re
line = re.sub('[[email protected]#$\n-.,]', '', line)

проверка на палиндром после преобразований делается так:

print("палиндром" if line == line[::-1] else "не палиндром")

вот только в строке все буквы надо привести или к верхнему или к нижнему регистру:

line = line.upper()

P.S.

полный код:

import re

# удалить символы    
line = re.sub('[[email protected]#$\n-.,]', '', line)

# перевести строку в верхний регистр (чтобы все буквы были одинаковыми и не было ситуации с буквами "A"/"a"
line = line.upper()

# проверить строку на палиндром
print("палиндром" if line == line[::-1] else "не палиндром")

чтобы не перечислять запрещённые символы [[email protected]#$\n-.,], лучше написать регулярку по удалению всех символов кроме букв - [a-я,А-Я]

P.P.S.

непонятное условие "ручной выбор символов будет низко оценен"

потому что иначе можно использовать метод replace для удаления ненужных символов:

line = line.replace('!', '')
line = line.replace('-', '')

и т.д.

→ Ссылка