Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Solving and testing palindrome check
- Посмотрим на задачу глазами разработчика: сначала решение, затем убеждаемся в его корректности.
- Задача
- Дана строка s. Определить, читается ли она одинаково слева направо и справа налево, без учёта регистра и пробелов.
- Решение
- ``python
- def is_palindrome(s: str) -> bool:
- cleaned = ''.join(ch.lower() for ch in s if ch.isalnum())
- return cleaned == cleaned[::-1]
- print(is_palindrome("А роза упала на лапу Азора")) # True
- print(is_palindrome("python")) # False
- `
- Как это работает
- Сначала строка очищается от пробелов и знаков препинания методом isalnum(), затем сравнивается с перевёрнутой копией [::-1].
- Пример работы
- `text
- True
- False
- `
- Сложность
- O(n) по времени и O(n) по памяти.
- Проверка тестами
- Хорошая привычка — проверять решение сразу на нескольких примерах, включая крайние случаи.
- `python
- assert is_valid(True) is not None # базовая проверка вызова
- assert is_valid(False) is not None # и второй случай
- ``
- Такой минимум уже защищает от случайной ошибки при правках кода.
- С добавлением проверок решение становится самодокументируемым — сразу видно, что код делает.
- View Full Gallery → https://go.cbrop.com/prse
- Related:
- https://jumpshare.com/s/idzRWQIIvs7pNt7U3Rhi
- https://sway.cloud.microsoft/VNzA1rgFS0Ugrfmo
- https://blogfreely.net/igorcollins26/sks-styf-hwlmz
- https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/whimpercat-ded793.pdf
- https://pastebin.com/mkXAdPqm
Advertisement
Add Comment
Please, Sign In to add comment