Python Program to Check if a Number is a Palindrome

1. Introduction

Palindromic numbers are intriguing in mathematics and computer science. They are numbers that remain the same when their digits are reversed. Checking for palindromic numbers is a classic problem that can be solved in Python in various ways.


A palindrome number is a numerical value that does not change when its digits are reversed. The process of determining whether a number is a palindrome involves comparing the number with its reverse.

2. Program Steps

1. Define a number to check for palindromicity.

2. Implement different methods to check if the number is a palindrome, including:

- Reversing the number as a string and comparing it.

- Reversing the number mathematically without converting it to a string.

3. Print the results of each method.

3. Code Program

# Step 1: Define the number
number = 12321

# Method 1: Reverse the number as a string and compare
num_str = str(number)
is_palindrome_str = num_str == num_str[::-1]

# Method 2: Reverse the number mathematically
reversed_num = 0
temp = number
while temp > 0:
    digit = temp % 10
    reversed_num = reversed_num * 10 + digit
    temp //= 10
is_palindrome_math = number == reversed_num

# Step 3: Print the results
print(f"String Method: The number {number} is a palindrome: {is_palindrome_str}")
print(f"Mathematical Method: The number {number} is a palindrome: {is_palindrome_math}")


String Method: The number 12321 is a palindrome: True
Mathematical Method: The number 12321 is a palindrome: True


1. number holds the integer value 12321.

2. In Method 1, number is converted to a string and checked against its reverse using slicing.

3. In Method 2, the while loop reverses number by extracting digits and building reversed_num.

4. is_palindrome_str holds the result of the string comparison, while is_palindrome_math holds the result of the mathematical comparison.

5. Both methods output whether number is a palindrome, highlighted by backticks in the print statements.

6. The results confirm that 12321 is a palindrome using both string and mathematical methods.