Проверка палиндромов 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Пошаговая реализация
- Разработка словесных головоломок и текстовых игр
- Алгоритмы сопоставления с образцом последовательности ДНК
- Проблемы проверки технических собеседований
Часто задаваемые вопросы
Как проверить палиндромы, не преобразуя числа в строки?
Вы можете извлечь цифры справа налево, используя % и //, восстановить перевернутое число и проверить, соответствует ли оно оригиналу.