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
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
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
num = input("Enter a number: ")
reverse = ''
for ch in num:
reverse = ch + reverse
print("Reversed number =", reverse)
5. 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.
Codecrown