Python Examples

Python Program - Check whether a String is Palindrome or not



A string is known as a Palindrome string if the reverse of the string is same as the string. For example, 'radar' is a palindrome string, but 'rubber' is not a palindrome string.

Example: Check Palindrome String

In the example below, the string called MyString is checked for palindrome string. A while loop is used to compare the characters of the string. Two variables l and r are created which initially points to first and last character of the string. If the compared characters are not same, it will increase the variable flag by one and exit the loop, else the loop is continued. After each iteration, l is increased by one and r is decreased by one until they cross each other. Finally, based on value of flag variable, MyString is checked for palindrome string.

def Palindrome(MyString):
  l = 0
  r = len(MyString) - 1
  flag = 0
  while(r > l):
    if MyString[l] != MyString[r]:
      flag = 1
      break
    l = l + 1
    r = r - 1
  if flag == 0:
    print(MyString, "is a Palindrome string.")
  else:
    print(MyString, "is not a Palindrome string.")  

Palindrome("radar")
Palindrome("rubber")
Palindrome("malayalam")

The above code will give the following output:

radar is a Palindrome string.
rubber is not a Palindrome string.
malayalam is a Palindrome string.

Example: Reverse the String in another way

In the example below, the string is reversed using [ : : -1] slicing method.

def Palindrome(MyString):
  revString = MyString[::-1]
  if MyString == revString:
    print(MyString, "is a Palindrome string.")
  else:
    print(MyString, "is not a Palindrome string.")  

Palindrome("radar")
Palindrome("rubber")
Palindrome("malayalam")

The above code will give the following output:

radar is a Palindrome string.
rubber is not a Palindrome string.
malayalam is a Palindrome string.

Example: Reverse the String using built-in functions

In the example below, the string is reversed using Python built-in functions reversed() and join().

def Palindrome(MyString):
  revString = "".join(reversed(MyString))
  if MyString == revString:
    print(MyString, "is a Palindrome string.")
  else:
    print(MyString, "is not a Palindrome string.")  

Palindrome("radar")
Palindrome("rubber")
Palindrome("malayalam")

The above code will give the following output:

radar is a Palindrome string.
rubber is not a Palindrome string.
malayalam is a Palindrome string.