Python Program to Reverse a Number

Reversing a number is a common programming problem that helps beginners understand loops, arithmetic operations, and string manipulation in Python.

Python provides multiple ways to reverse a number, including loops, slicing, recursion, and mathematical techniques.

1. Understanding the Problem

Given an integer, reverse its digits.

Number: 1234 → Reversed: 4321
Number: 987 → Reversed: 789
Number: 100 → Reversed: 1

2. Using While Loop

Python
Reverse number using while loop
num = int(input("Enter a number: "))
reverse = 0

n = abs(num)

while n != 0:
    digit = n % 10
    reverse = reverse * 10 + digit
    n //= 10

if num < 0:
    reverse = -reverse

print("Reversed number =", reverse)
Enter a number: 1234
Reversed number = 4321

3. Using String Slicing

Python
Reverse using string slicing
num = input("Enter a number: ")

if num.startswith('-'):
    reversed_num = '-' + num[:0:-1]
else:
    reversed_num = num[::-1]

print("Reversed number =", reversed_num)

4. Using For Loop

Python
Reverse using for loop
num = input("Enter a number: ")
reverse = ''

for ch in num:
    reverse = ch + reverse

print("Reversed number =", reverse)

5. Using Recursion

Python
Reverse using recursion
def reverse_num(n, rev=0):
    if n == 0:
        return rev
    return reverse_num(n // 10, rev * 10 + n % 10)

num = int(input("Enter a number: "))

if num == 0:
    print("Reversed number = 0")
else:
    result = reverse_num(abs(num))
    if num < 0:
        result = -result
    print("Reversed number =", result)

6. Common Mistakes

1. Not handling negative numbers correctly.

2. Losing leading zeros when reversing numbers.

3. Mixing string and integer logic incorrectly.

4. Forgetting to update the reverse variable properly.

7. Applications

1. Used in palindrome number problems.

2. Helpful in mathematical algorithms.

3. Common in coding interviews.

Conclusion

Reversing a number in Python can be achieved using multiple approaches such as loops, string slicing, and recursion. Each method has its own advantages depending on the situation.

Practicing these approaches improves problem-solving skills and strengthens understanding of Python fundamentals.