pb1a38a600

Solving and testing palindrome check

Nov 12th, 2026
10
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. Solving and testing palindrome check
  2.  
  3. Посмотрим на задачу глазами разработчика: сначала решение, затем убеждаемся в его корректности.
  4.  
  5. Задача
  6.  
  7. Дана строка s. Определить, читается ли она одинаково слева направо и справа налево, без учёта регистра и пробелов.
  8.  
  9. Решение
  10.  
  11. ``python
  12. def is_palindrome(s: str) -> bool:
  13. cleaned = ''.join(ch.lower() for ch in s if ch.isalnum())
  14. return cleaned == cleaned[::-1]
  15.  
  16. print(is_palindrome("А роза упала на лапу Азора")) # True
  17. print(is_palindrome("python")) # False
  18. `
  19.  
  20. Как это работает
  21.  
  22. Сначала строка очищается от пробелов и знаков препинания методом isalnum(), затем сравнивается с перевёрнутой копией [::-1].
  23.  
  24. Пример работы
  25.  
  26. `text
  27. True
  28. False
  29. `
  30.  
  31. Сложность
  32.  
  33. O(n) по времени и O(n) по памяти.
  34.  
  35. Проверка тестами
  36.  
  37. Хорошая привычка — проверять решение сразу на нескольких примерах, включая крайние случаи.
  38.  
  39. `python
  40. assert is_valid(True) is not None # базовая проверка вызова
  41. assert is_valid(False) is not None # и второй случай
  42. ``
  43.  
  44. Такой минимум уже защищает от случайной ошибки при правках кода.
  45.  
  46. С добавлением проверок решение становится самодокументируемым — сразу видно, что код делает.
  47.  
  48. View Full Gallery → https://go.cbrop.com/prse
  49.  
  50. Related:
  51.  
  52. https://jumpshare.com/s/idzRWQIIvs7pNt7U3Rhi
  53. https://sway.cloud.microsoft/VNzA1rgFS0Ugrfmo
  54. https://blogfreely.net/igorcollins26/sks-styf-hwlmz
  55. https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/whimpercat-ded793.pdf
  56. https://pastebin.com/mkXAdPqm
  57.  
Advertisement
Add Comment
Please, Sign In to add comment