Введение
В статье рассмотрим несколько вариантов кода, чтобы узнать является ли строка палиндромом с помощью Python.
Итеративный метод
В данном методе будет производиться проверка путём проверки первого элемента строки и последнего, далее второго элемента и предпоследнего и т.д. Если же они совпадали, то строка является палиндромом, если нет, то не является.
def palindrome_check(s):
# Цикл не закончится, пока не закончится строка делённая напополам
for i in range(0, int(len(s)/2)):
# Если элементы не совпали, то строка не является палиндромом
if s[i] != s[len(s)-i-1]:
return "Строка не является палиндромом"
# Если все элементы совпали, то строка является палиндромом
return "Строка является палиндромом"
# Ввод проверяемой строки
s = input("Введите строку: ")
# Вызов функции с передачей введённой строки в параметр s
print(palindrome_check(s))
Для примера введём слово «шалаш»:
# Ввод: шалаш
# Вывод: Строка является палиндромом
Реверсивный метод
Метод заключается в том, что мы развернём исходную строку, и сравним её с исходной:
def palindrome_check(s):
# Реверсируем строку
reverse = ''.join(reversed(s))
# Проверяем исходную и ревёрснутую строки на равенство
if s == reverse:
return "Строка является палиндромом"
return "Строка не является палиндромом"
s = input("Введите строку: ")
print(palindrome_check(s))
В качестве примера введём строку «коту тащат уток»:
# Ввод: коту тащат уток
# Вывод: Строка является палиндромом
Метод с использованием среза
Как по мне, это самый лучший способ, ведь он занимает всего одну строку. В нём мы проверяем, равна ли строка s инвертированному строковому представлению s. По сути мы инверсируем строку, после чего сравниваем:
s = input("Введите строку: ")
print(str(s) == str(s)[::-1])
В качестве примера введём строку «потоп»:
# Ввод: потоп
# Вывод: True
Если же обязательно нужно, чтоб выводилась определённая надпись, то можно добавить условие:
s = input("Введите строку: ")
if str(s) == str(s)[::-1]:
print("Строка является палиндромом")
else:
print("Строка не является палиндромом")
Заключение
В ходе статьи мы с Вами рассмотрели целых три способа проверки, является ли строка палиндромом с помощью Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂