How to Reverse a Number in Python
Reverse a Number in Python
Reversing a number is one of the most frequently asked programming questions in interviews. Python offers multiple methods to accomplish this, each with its own learning opportunities. In this post, we will explore two primary approaches: using a while loop and using recursion.
Complete Python Course with Advance topics:-Click here
Reversing a Number in Python
We will create programs that take an integer input from the user and reverse the number. Here are two methods to achieve this:
- Using a While Loop
- Using Recursion
Method 1: Reverse a Number Using a While Loop
Before diving into the code, let’s break down the logic in a step-by-step algorithm.
Algorithm
Input: An integer, number
- Initialize a variable
reversed_number = 0
. - While the
number > 0
:- Extract the remainder of the number when divided by 10.
- Multiply
reversed_number
by 10, then add the remainder. - Divide
number
by 10 (integer division).
- Return the value of
reversed_number
.
Code Implementation
# Program to reverse a number using a while loop
# Take user input
number = int(input("Enter an integer number: "))
# Initialize reversed_number to 0
reversed_number = 0
# Loop to reverse the number
while number > 0:
remainder = number % 10 # Extract the last digit
reversed_number = (reversed_number * 10) + remainder # Build the reversed number
number = number // 10 # Remove the last digit from the number
# Display the reversed number
print(f"The reversed number is: {reversed_number}")
Output
Enter an integer number: 12345
The reversed number is: 54321
Explanation of the While Loop Program
Let’s break down the code step by step with an example input of 12345
:
- First Iteration:
remainder = 12345 % 10 = 5
reversed_number = 0 * 10 + 5 = 5
number = 12345 // 10 = 1234
- Second Iteration:
remainder = 1234 % 10 = 4
reversed_number = 5 * 10 + 4 = 54
number = 1234 // 10 = 123
- Third Iteration:
remainder = 123 % 10 = 3
reversed_number = 54 * 10 + 3 = 543
number = 123 // 10 = 12
- Fourth Iteration:
remainder = 12 % 10 = 2
reversed_number = 543 * 10 + 2 = 5432
number = 12 // 10 = 1
- Fifth Iteration:
remainder = 1 % 10 = 1
reversed_number = 5432 * 10 + 1 = 54321
number = 1 // 10 = 0
The loop terminates as number
becomes 0
, and the reversed number 54321
is printed.
Method 2: Reverse a Number Using Recursion
Recursion is another effective way to reverse a number. Let’s look at the logic and implementation.
Algorithm
Input: An integer number
- Create a global variable
reversed_number = 0
. - If
number > 0
:- Extract the remainder of the number when divided by 10.
- Multiply
reversed_number
by 10 and add the remainder. - Call the function recursively, passing
number // 10
.
- Return
reversed_number
.
Code Implementation
# Program to reverse a number using recursion
# Take user input
number = int(input("Enter the number: "))
reversed_number = 0 # Initialize reversed_number
# Define the recursive function
def reverse_number(num):
global reversed_number
if num > 0:
remainder = num % 10 # Extract the last digit
reversed_number = (reversed_number * 10) + remainder # Build the reversed number
reverse_number(num // 10) # Recursive call
return reversed_number
# Call the function and print the result
result = reverse_number(number)
print(f"The reversed number is: {result}")
Output
Enter the number: 5426
The reversed number is: 6245
Key Takeaways
- Both methods, while loop and recursion, use the same logic to reverse a number.
- While the loop method is iterative and straightforward, recursion provides an elegant and compact solution.
- Understanding the logic behind reversing a number will allow you to write similar programs in other languages like Java, C++, or JavaScript.
Download New Real Time Projects :-Click here
Complete Advance AI topics:-Â CLICK HERE
reverse a number in python using for loop
reverse a number in python w3schools
reverse of a number in python using function
how to reverse a number in java
reverse a number in python using while loop
reverse a number in python using slicing
reverse a number in python without using loop
python program to reverse a string
online python compiler
online c compiler
how to reverse a number in python using for loop
how to reverse a number in python for loop
Post Comment