How to Check If a String Is a Palindrome in Python: Step-by-Step Guide

May 12, 2025

Follow us on


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.

How to Check If a String Is a Palindrome in Python: Step-by-Step Guide

🧠 What is a Palindrome?

A palindrome is a word, number, phrase, or sequence that reads the same forward and backward.

🔁 Examples of Palindromes:

  • "madam"

  • "level"

  • "radar"

  • "12321"

  • "racecar"

If you reverse these strings, they will still be the same!


🐍 Python Program to Check for Palindrome

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.")

🧩 Step-by-Step Explanation

🔹 Step 1: Convert to Lowercase

string = string.lower()
  • Palindromes are not case-sensitive.

  • So "Madam" should be treated the same as "madam".

🔹 Step 2: Remove Spaces

string = string.replace(" ", "")
  • Sometimes users input phrases like "A man a plan a canal Panama".

  • To handle such cases, we remove spaces.

🔹 Step 3: Reverse the String

reversed_string = string[::-1]
  • This is Python’s slicing trick.

  • string[::-1] means: start from the end and go backwards.

🔹 Step 4: Compare Original and Reversed Strings

return string == reversed_string
  • If both strings match, it means the input is a palindrome.


🧪 More Examples

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

🔄 Bonus: Palindrome Check Without Removing Spaces

If you want to check strictly character-by-character (including spaces), you can skip step 2.


🚀 Why Use Python for This?

  • Simple syntax: Easy to read and write

  • Powerful string handling

  • Slicing: A cool Python feature that simplifies reversing strings


🧠 Common Questions

❓ Can a sentence be a palindrome?

Yes! If you ignore spaces and case, sentences like "A man a plan a canal Panama" are palindromes.

❓ What about numbers?

Yes! Numbers like 121 or 12321 are also palindromes.


🎯 Conclusion

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.


© 2025 Galaxy Founder. All rights reserved.