Python Program to Check if a Number is a Palindrome

1. Introduction

In this tutorial, we will learn how to write a Python program to check if a number is a palindrome.

A palindrome is a sequence that reads the same backward as forward. Palindromes can apply to numeric values as well as to strings. Checking if a number is a palindrome is a common problem in programming interviews and competitions.

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

Output:

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

Explanation:

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.

Comments