← Все вопросы
Как проверить, что строка — палиндром, игнорируя регистр и пробелы?
10
Нужно проверить фразу вроде 'А роза упала на лапу Азора' — это палиндром, если убрать пробелы и не смотреть на регистр. Как сделать чисто?
4 ответа
18
✓ Принятый ответ — помог автору
Сначала нормализуй строку, потом сравни с её разворотом:
s = 'А роза упала на лапу Азора'
clean = ''.join(c.lower() for c in s if c.isalpha())
print(clean == clean[::-1]) # True
isalpha() оставляет только буквы (выкидывает пробелы и знаки), lower() убирает регистр, [::-1] разворачивает.
6
Если только пробелы убрать: t = s.replace(' ', '').lower(); t == t[::-1].
2
clean == clean[::-1] после нормализации.
-3
Просто s == s[::-1]. (без нормализации не сработает: пробелы и регистр всё сломают, как раз про это вопрос)
Oleg Lugovskoi Так фраза с пробелами и заглавной не пройдёт эту проверку · 17 месяцев назад
Ваш ответ
Войдите, чтобы ответить на вопрос.