Check Palindrome Recursively

Check if a number is palindrome recursively.

IntermediatePhase 3 - Level 2: Advanced RecursionExample 3 of 10
check-palindrome-recursively.py
1def reverse_number(n, rev=0):
2 if n == 0:
3 return rev
4 last_digit = n % 10
5 rev = rev * 10 + last_digit
6 return reverse_number(n // 10, rev)
7
8# Check palindrome
9num = int(input("Enter a number: "))
10reversed_num = reverse_number(abs(num))
11if abs(num) == reversed_num:
12 print("Palindrome")
13else:
14 print("Not a palindrome")

Output

Enter a number: 121
Palindrome

Enter a number: 123
Not a palindrome

What's going on

Reverse number and compare with original.

Key Concepts:

Use reverse function recursively
Compare reversed with original
If equal, palindrome