Проверка палиндромов Python

Проверьте, является ли строка или число палиндромом (читается так же, как и вперед), используя нарезку Python.

Попробуйте в редакторе

Обзор

Палиндром — это последовательность символов или цифр, которая читается одинаково в обоих направлениях, игнорируя пробелы, знаки препинания и заглавные буквы.

Строки Python поддерживают нарезку, что позволяет нам создавать обратную копию, используя `[::-1]`. Это делает проверку палиндромов чрезвычайно лаконичной.

Для чисел мы можем сначала преобразовать значение в строку или использовать математические циклы для восстановления цифр в обратном порядке.

Код и вывод выполнения

Проверка нескольких буквенно-цифровых строк и числовых значений на симметрию палиндрома.

def is_palindrome(val):
    s = str(val).lower().replace(" ", "")
    return s == s[::-1]

test_inputs = [121, 12321, "radar", "Python", "A nut for a jar of tuna"]
for item in test_inputs:
    status = "Palindrome" if is_palindrome(item) else "Not Palindrome"
    print(f"'{item}' -> {status}")
Терминальный выход
'121' -> Palindrome
'12321' -> Palindrome
'radar' -> Palindrome
'Python' -> Not Palindrome
'A nut for a jar of tuna' -> Palindrome

Пошаговая реализация

  • Разработка словесных головоломок и текстовых игр
  • Алгоритмы сопоставления с образцом последовательности ДНК
  • Проблемы проверки технических собеседований

Часто задаваемые вопросы

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

Вы можете извлечь цифры справа налево, используя % и //, восстановить перевернутое число и проверить, соответствует ли оно оригиналу.

Связанные темы