Learn how to check if a string is a palindrome using Python. This beginner-friendly guide includes clear explanations, examples, and Python code to understand palindrome checking easily.
A palindrome is a word, number, phrase, or sequence that reads the same forward and backward.
"madam"
"level"
"radar"
"12321"
"racecar"
If you reverse these strings, they will still be the same!
Let’s create a simple Python program that checks whether a given string is a palindrome.
# Program to check if a string is a palindrome
def is_palindrome(string):
# Step 1: Convert the string to lowercase to ignore case sensitivity
string = string.lower()
# Step 2: Remove spaces from the string
string = string.replace(" ", "")
# Step 3: Reverse the string
reversed_string = string[::-1]
# Step 4: Compare original and reversed strings
return string == reversed_string
# Example usage
user_input = input("Enter a string to check if it's a palindrome: ")
if is_palindrome(user_input):
print(f"'{user_input}' is a palindrome!")
else:
print(f"'{user_input}' is NOT a palindrome.")
string = string.lower()
Palindromes are not case-sensitive.
So "Madam"
should be treated the same as "madam"
.
string = string.replace(" ", "")
Sometimes users input phrases like "A man a plan a canal Panama"
.
To handle such cases, we remove spaces.
reversed_string = string[::-1]
This is Python’s slicing trick.
string[::-1]
means: start from the end and go backwards.
return string == reversed_string
If both strings match, it means the input is a palindrome.
Let’s try some test cases with the function:
print(is_palindrome("Racecar")) # True
print(is_palindrome("Python")) # False
print(is_palindrome("A man a plan a canal Panama")) # True
print(is_palindrome("12321")) # True
If you want to check strictly character-by-character (including spaces), you can skip step 2.
Simple syntax: Easy to read and write
Powerful string handling
Slicing: A cool Python feature that simplifies reversing strings
Yes! If you ignore spaces and case, sentences like "A man a plan a canal Panama"
are palindromes.
Yes! Numbers like 121
or 12321
are also palindromes.
Palindrome checking is one of the most common exercises in programming interviews and beginner tutorials. In Python, it becomes incredibly easy with string manipulation and slicing.
With just a few lines of code, you can create a program that checks whether a word, phrase, or number is a palindrome.
Thank you for visiting! Enjoy exploring our diverse collection of blogs, crafted with passion and insight to inspire and inform. Happy reading!