Программа Python для проверки того, является ли строка палиндромом или нет

| | | | | | | | | | | | | | | | | | |

Примеры:

Ввод:  малаялам Вывод:  Да Ввод:  гики Вывод:  Нет 

Метод № 1
1) Найти обратную строку
2) Проверить, совпадают ли обратная и исходная строки.


# функция, возвращающая обратную строку

def reverse (s):

return s [ :: - 1 ]

< br>

def isPalindrome(s):

# Функция обратного вызова

rev = reverse (s)


# Проверяем, равны ли обе строки

if (s = = rev):

return True

return False



# Код драйвера

s = "малаялам"

ans = isPalindrome (s)


if ans = = 1 :

print ( " Yes " )

else :

print ( <код кл ass = "string"> " No " )

Вывод:

Да 

Итеративный метод: этот метод предоставлен Ball Raza . Цикл от начала до длины /2 и проверка первого символа до последнего символа строки и второго до предпоследнего, и так далее.... Если какой-либо символ не совпадает, строка не будет палиндромом.

Ниже приведена реализация описанного выше подхода:


# функция для проверьте строку
# палиндром или нет

def isPalindrome ( str ):


# Цикл от 0 до len / 2

for i in xrange ( 0 , len ( str ) / 2 ):

if str [я]! = str [ len ( str ) - i - 1 ]:

return False

return True


# main function

s = "малаялам"

ans = isPalindrome(s)


if (ans):

print ( "Yes" )

else :

print ( "Нет" )

Вывод:

Да 

Метод с использованием встроенной функции для позвонить линии: этот метод предоставлен Шариком Раза . В этом методе предопределенная функция ' ' .join (reversed (string)) используется для обратного строки.

Ниже приведена реализация описанного выше подхода:


< / p>

# функция для проверки строки
# палиндром или нет

def isPalindrome(s):


# Использование предопределенная функция для

# вернуться к линейному выводу

rev = `` .join ( reversed ( s))


# Проверяем, что обе строки

# равно или нет

if (s = = rev):

return True

return False

< br> # main function

s = "малаялам"

и = isPalindrome (s)


if (ans):

print ( "Yes" )

else :

print ( "Нет" )

Вывод:

Да 

Метод с использованием одной дополнительной переменной: В этом методе пользователь получает строковый символ один за другим и сохраняет его в пустой переменной. После сохранения всех символов пользователь сравнивает обе строки и проверяет, является ли это палиндромом или нет.


# Программа Python для проверки
# если строка является палиндромом
# или нет


x = "малаялам"

w = ""

for i in x:

w = i + w

if (x = = w):

print ( " YES " )


Выход:

Да 

Эта статья предоставлена Сахилом Раджпутом . Если вы представляете Python.Engineering и хотели бы внести свой вклад, вы также можете написать статью, используя вклад.python.engineering или опубликовав статью. внести свой вклад @ python.engineering. См. мою статью на домашней странице Python.Engineering и помогите другим специалистам.

Если вы обнаружите что-то не так или хотите поделиться дополнительной информацией по теме, обсуждаемой выше, оставляйте комментарии.