×

Check Palindrome in Python

Python is an object-oriented high-level programming language. Python has dynamic semantics and has high-level built-in data structures which support dynamic typing and dynamic binding. Python provides rapid development. It has an English-like syntax that is very easy to write and understand which also reduces the maintenance cost. Python is an interpreted language which means that it uses an interpreter instead of the compiler to run the code. The interpreted language is processed at the run time thus takes less time to run. Python also has third parties modules and libraries which encourage development and modifying the code.

Palindrome Overview

In this post, we are going to discuss how to check if a string is a palindrome or not. A palindrome is a set of numbers or characters that reads the same backwards as from forward. When the numbers or characters are reversed, the order remains the same. Some examples of palindromes can be Nitin, 12121, 22/02/2022.

Here Nitin is a palindrome string. A palindrome string is a palindrome of alphabets, i.e. the set of alphabets that remains the same when inverted. They can also be called symmetrical alphabets. In this example, the string is Nitin, and when we reverse it, we will still get Nitin. So it is a palindrome string.

The next example is 12121, which can be considered as a palindrome number. A palindrome number is a set of numbers that remains the same when inverted. When we reverse the number 12121, it turns out to be the exact same number 12121, so 12121 can be called a palindrome number while 12343412 cannot be considered a palindrome.

Some other examples of palindrome are:

123321, Madam, Dad, abc1221cba

In this article, we are going to check if a string is a palindrome or not in Python.

Before writing the actual code itself, it is advised to write the pseudo code or algorithm for the problem. After writing and understanding the algorithm, it becomes very easy to execute the code.

Let us try to write the pseudo code first:

Pseudo Code:

1. Input: String

2. Reverse the string using any method

3. Compare the original string with reversed string

4. If same print yes

5. Else No

We can implement different approaches while reversing the string. One point to note is to make sure to keep the data types of both strings and reversed strings the same while comparing them.

Method 1: Slicing

Our first way to reverse the original string is by using list slicing in Python.With the help of slicing, we can access a range of elements and choose where to start, where to end, and in which order.

# Program to check palindrome

str= input("Enter a string: ")

rev_str = str[::-1]

if rev_str == str:

   print("Yes, It is a palindrome")

else:

   print("No, It is not a palindrome")

Output

Enter a string: madam

Yes, It is a palindrome
Check Palindrome In Python

In this code, we have used slicing; the syntax for the slicing is started:stop:step . We have not passed anything to start and stop, so that it will take the whole string. The step is specified as -1, which means it will process the strip backwards.

Method 2: Recursion

Our next approach to reverse the string is by using recursion. Recursion is a method of solving a problem when the problem is defined in terms of itself.

The code for recursion is:

# Checking palindrome by using recursion

def checkPalindrome(str):

   #to change it the string is similar case

   str = str.lower()

   lth = len(str)

   # if length is less than 2

if lth< 2:

         return True

   #Check if the first and last character is same

   elif str[0] == str[lth - 1]:

         # pass the string without first and last letter

         return checkPalindrome(str[1: lth - 1])

   else:

         return False

# Driver Code

str= input("Enter a string: ")

if checkPalindrome(str):

   print("Yes, It is a palindrome")

else:

   print("No, It is not a palindrome")

Output

Enter a string: 12345abccba54321

Yes, It is a palindrome
Check Palindrome In Python

Method 3: Iteration

In this approach, we are not going to reverse the string, but we will compare the first letter to the last letter. If they are the same, then we will compare the second letter to the second last and so on. We are going to do this till we reach the middle of the string. If any character mismatches, then the string is not a palindrome, and we will break the loop.

# Iterative approach to check palindrome

def checkPalindrome(str):

   # Run loop from 0 to len/2

   lth = int(len(str))

   for i in range(0, lth/2):

         if str[i] != str[lth-i-1]:

               return False

   return True

# Driver Code

str= input("Enter a string: ")

if checkPalindrome(str):

   print("Yes, It is a palindrome")

else:

   print("No, It is not a palindrome")

Output

Enter a string: abcdefgfedcba

Yes, It is a palindrome
Check Palindrome In Python

Method 4: Reversed function

In this method, we are going to reverse the string by using the reversed function with the join() function in Python. Reversed() function returns the reverse iteration of the string. The following python code demonstrates the process to reverse a string and check palindrome:

# Program to check palindrome using reversed function

str= input("Enter a string: ")

rev_str = ''.join(reversed(str))

if rev_str == str:

   print("Yes, It is a palindrome")

else:

   print("No, It is not a palindrome")
Check Palindrome In Python

Note: These codes are case sensitive. If you want to ignore the case, you can convert the original string to either lowercase or uppercase using the .lower() function and then use these codes.


Related Topics

Calculator Program in Python

Simple Calculator Program in Python This example helps to learn how to create a simple calculator program to perform operations like addition, subtraction, multiplication, and division. Source Code The following is the source...

2 minutes read.

Compound Interest GUI Calculator using PyQt5 in Python

GUI: One of the most significant factors that increased the usability of computer and digital technologies for common, less tech-savvy users is likely the development and widespread adoption of GUIs. GUIs...

6 minutes read.

Python md5_file() function

Python md5_file() function The md5_file() function in PHP calculates the md5 hash of a given file. Syntax md5_file ( string $filename [, bool $raw_output ] )  Parameter filename(required)- This parameter signifies the file to be calculated. raw_output(optional)- It takes a boolean value that specifies hex or binary...

1 minute read.

Python program to find the GCD or HCF

Python program to find the GCD or HCF The largest positive integer that perfectly divides the two numbers is the HCF (Highest Common Factor) or GCD (Greatest Common Deviser). For example,...

5 minutes read.

Implementing geometric shapes into the game in python

Geometric Drawings We are trying to draw various shapes of geometry by using pygame module to implement Geometric Drawings in game. Let us revise few syntax of basic shapes, to get started...

7 minutes read.

Python Dictionary Methods

Python Dictionary Methods Python has a set of built-in methods that dictionary objects can call. All the python dictionary methods are as follow: Methods Description clear() The dictionary.clear() method removes all the elements...

3 minutes read.

Find whether the given stringnumber is palindrome or not

Problem statement Sam is found of playing with strings. One day he thought of finding whether a string is a palindrome or not. He wanted to develop a computer process to...

2 minutes read.

Python And Operator

Python's and operator takes two operands that can be either object, Boolean expressions, or both. And operator creates more complex expressions using those operands. Conditions are the common name for...

8 minutes read.

Python Program to Generate a Random String

The term "random" refers to a group of information or data that can be accessed in any chronological order. To create random strings, a Python program called random is utilized....

6 minutes read.

Python Skyline

Python Programming Language: Python is an interactive and more accessible language than any other programming language. The python programming language uses a variety of libraries to perform the operations in a...

3 minutes read.

Index Error in Python

The index errors are the run time error that is raised in Python when we try to access an index that does not exist. This might seem very trivial but...

4 minutes read.

Python Dictionary copy() method

Python Dictionary copy() method The dictionary.copy () method in Python returns a copy of the specified dictionary. Syntax dictionary.copy () Parameter NA Return None Example 1 # Python program explaining # the dictionary.copy() method # initialising the dictionary ...

1 minute read.

Augmented reality in python

In this article, we shall learn about augmented reality in python. Augmented reality is a technology that captures the world around you and adds virtual content or objects on top of...

3 minutes read.

Python Read CSV file

The CSV stands for “comma-separated value,” which is defined as a simple file format that is used to store data into a tabular form such as a database or spreadsheet. It is...

7 minutes read.

Python String strip() method

Python String strip() method The string. strip() method in Python removes any leading (spaces at the beginning) and trailing (spaces at the end) characters (space is the default leading character to...

1 minute read.

Python Project Ideas Based On Django

Introduction If you have learned Python and you are an expert in Django, then your practical skills should be excellent in this field. If you want to check your practical skills,...

9 minutes read.

Python Dictionary get() method

Python Dictionary get() method The dictionary.get() method returns the value of the item with the specified key. Syntax dictionary.get(keyname, value) Parameter keyname- This parameter represents the key to be searched in the dictionary. value- The parameter...

1 minute read.

How to Install Numpy in PyCharm

What is PyCharm? JetBrains created the hybrid platform known as PyCharm as a Python IDE. The Python IDE PyCharm is used by some major companies, including Twitter, Facebook, Amazon, and many...

4 minutes read.

How to assign values to variables in Python and other languages?

Python makes it simple to construct variables. The value to be stored in the variable should then be written after a suitable name for the variable and the equality sign....

3 minutes read.

Arguments and parameters in Python

Generally, there is a misunderstanding that parameters and arguments, both are the same. But, as a programmer, you need to understand the difference between these two. Parameters: While defining a function, we...

5 minutes read.