Лёша на полке клопа нашёл. -> True

Удалите небуквенные символы, приведите буквы к одному регистру и сравните строку с обратной. Для первого примера нужно дополнительно считать ё и е эквивалентными.

Короткий ответ

Что ответить на собеседовании

Удалите небуквенные символы, приведите буквы к одному регистру и сравните строку с обратной. Для первого примера нужно дополнительно считать ё и е эквивалентными.

Подробный разбор

Ответ с пояснениями

Условие

Лёша на полке клопа нашёл. -> True Муха! О, муха! Велика аки лев! Ах, ум! О ах, ум! -> True "........,,,! " -> False

def is_palindrome(string_to_check: str) -> bool:

Ответ

Удалите небуквенные символы, приведите буквы к одному регистру и сравните строку с обратной. Для первого примера нужно дополнительно считать ё и е эквивалентными.

Пустой после очистки текст должен дать False, что прямо следует из примера с пунктуацией. Здесь учитываем только буквы; если цифры тоже значимы, замените isalpha на isalnum.

def is_palindrome(string_to_check: str) -> bool:
    normalized = string_to_check.casefold().replace('ё', 'е')
    letters = ''.join(c for c in normalized if c.isalpha())
    return bool(letters) and letters == letters[::-1]

Оба приведённых предложения дают True. Нормализация ё/е — правило именно этой задачи, а не универсальное свойство палиндромов. Время и дополнительная память — O(n).

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее