Reverse a Number in Python

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:

  1. Using a While Loop
  2. 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

  1. Initialize a variable reversed_number = 0.
  2. 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).
  3. 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  

image-15-1024x576 How to Reverse a Number in Python

Explanation of the While Loop Program

Let’s break down the code step by step with an example input of 12345:

  1. First Iteration:
    • remainder = 12345 % 10 = 5
    • reversed_number = 0 * 10 + 5 = 5
    • number = 12345 // 10 = 1234
  2. Second Iteration:
    • remainder = 1234 % 10 = 4
    • reversed_number = 5 * 10 + 4 = 54
    • number = 1234 // 10 = 123
  3. Third Iteration:
    • remainder = 123 % 10 = 3
    • reversed_number = 54 * 10 + 3 = 543
    • number = 123 // 10 = 12
  4. Fourth Iteration:
    • remainder = 12 % 10 = 2
    • reversed_number = 543 * 10 + 2 = 5432
    • number = 12 // 10 = 1
  5. 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

  1. Create a global variable reversed_number = 0.
  2. 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.
  3. 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  

image-14-1024x576 How to Reverse a Number in Python

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