×

Reverse a Number in Python

Python is an Object-Oriented high-level language. Python has an English-like syntax, which is very easy to read and write codes. Python is an interpreted language which means that it uses an interpreter instead of the compiler to run the code. The interpreted language is processed at the run time thus takes less time to run. Python is also interactive, so we can directly run programs in the terminal itself.

There are some basic and standard questions which are very popular are asked in almost every interview. The concept of these questions is important and can be used in multiple other questions. One of these questions is to Reverse a Number in Python.

In this question, we will be given a number in integer format and the task is to return the reversed number. We are going to solve these questions with three approaches:

  • Iteration
  • Recursion
  • String Slicing

1. Reverse a number by iteration:

We will take the input as an integer and store it in a variable. Then we run a while loop and store the last digit of the given number in a different variable and then remove that digit from the original number. At last, we will print the reversed number.

Before writing the actual code itself it is advised to write the pseudo code or algorithm for the problem. After writing and understanding the algorithm it becomes very easy to execute the code.

Let us try to write the pseudo code first:

Pseudo Code:

  1. Input : Number
  2. Initialize rev_num = 0
  3. Loop while Number>0
    • Digit = Number%10
    • rev_num =  (rev_num*10) + Digit
    • Number = Number/10
  4. Print Number

Now, writing the code for this pseudocode in Python is quite easy for us:

Code:

# Input the number to be reversed

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

# Initiate the rev_num as 0

rev_num = 0

# Implement the logic in while loop while Number > 0

while(number>0):

  digit = number % 10

  rev_num = (rev_num * 10) + digit

  number = number//10

# print rev_num

print("The reverse number is : {}".format(rev_num))
Reverse A Number In Python

Explanation:

In the first line of the code, we have taken the input of the number. After that, we have initialized a variable rev_num as 0 in this variable we are going to store our answer.

The main logic starts from the while loop, run the while loop till the number is greater than 0.

Inside the while loop first, we get the last digit of the number by taking the remainder after dividing the number by 10.

Then we add the digit to the rev_num variable and also shift it to left in each iteration.

Then divide the number by 10 to get the second last digit in the next iteration.

This loop will run until the number is greater than 0. And finally, we print the rev_num.

We will better understand this program by taking an example and looking at each iteration step by step:

Number  = 12345, rev_num = 0

First Iteration

Digit = number%10 è 12345%10 = 5

Rev_num = (rev_num*10) + digit

Rev_num = (0*10) + 5 = 5

Number = number//10 => 12345//10 = 1234

Second Iteration

After the first iteration, we have number = 1234 and rev_num = 5, since the number is greater than 0, while the loop will run again:

Digit = number%10 è 1234%10 = 4

Rev_num = (rev_num*10) + digit

Rev_num = (5*10) + 4 = 54

Number = number//10 => 1234//10 = 123

Third Iteration

After the second iteration, we have number = 123 and rev_num = 54, since the number is greater than 0, while the loop will run again:

Digit = number%10 è 123%10 = 3

Rev_num = (rev_num*10) + digit

Rev_num = (54*10) + 3 = 543

Number = number//10 => 123//10 = 12

Fourth Iteration

After the second iteration, we have number = 12 and rev_num = 543, since the number is greater than 0, while the loop will run again:

Digit = number%10 è 12%10 = 2

Rev_num = (rev_num*10) + digit

Rev_num = (543*10) + 2 = 5432

Number = number//10 => 12//10 = 1

Fifth Iteration

After the second iteration, we have number = 1 and rev_num = 5432, since the number is greater than 0, while loop will run again:

Digit = number%10 è 1%10 = 1

Rev_num = (rev_num*10) + digit

Rev_num = (5432*10) + 1 = 54321

Number = number//10 => 1//10 = 0

Sixth Iteration

After the second iteration, we have number = 0 and rev_num = 54321, since the number is 0, while the loop will not run and the code will just print the rev_num.

Print(rev_num)

54321

2. Recursive approach

The next approach to print the reverse of a number is by using recursion. Recursion is a method of solving a problem when the problem is defined in terms of itself.

The logic will be the same, instead of in this approach we will define a function and then call the function with the number//10.

Let us look at the code:

number = int(input("Enter the number: "))  

rev_num = 0    # initial value is 0. It will hold the reversed number 

def reversesum_recur(number): 

    global rev_num   # We can use it out of the function 

    if (number > 0): 

        Digit = number % 10 

        rev_num = (rev_num * 10) + Digit 

        reversesum_recur(number // 10) 

    return rev_num 

rev_num = reversesum_recur (number) 

print(“Reverse of entered number is  ",  rev_num)
Reverse A Number In Python

3. String Slicing

The third approach is to use slice slicing, this method can only be used in Python. This is one of the advantages of Python, that it provides some efficient techniques. With the help of slicing, we can access a range of elements and can also choose where to start and where to end and in which order.

Code:

number = int(input(“Enter the number: ”))

number = str(number)

print(number[::-1])
Reverse A Number In Python

In this code, first, we have converted the integer number to a string. Then we have used slicing, the syntax for the slicing is start:stop:step . We have not passed anything to start and stop so it will take the whole string. The step is specified as -1, which means it will process the strip backward.

These are the methods to reverse a number in python. The most important task is to understand the logic behind the code, once you do that you can write code in every language.


Related Topics

Allocate a minimum number of pages in python

You have given a sorted array of size n which represents the number of pages in n different books and an integer value which denotes the number of students. We...

4 minutes read.

Python Network Programming

In network programming, python plays a very important role. Python provides full support for encoding and decoding data and network protocol in its standard library. Writing a network program in...

3 minutes read.

Python Set discard() method

Python Set discard() method The set.discard() method in Python removes a specified element from the set (if present). Syntax set.discard(value) Parameter value- This parameter represents the element to be removed from the set. Return None Example 1 # Python program explaining # the...

1 minute read.

Python Debugger

In this tutorial, we will understand what is debugging in general. Then we will realize what the python debugger means and what is the method to perform it. Now, let us...

3 minutes read.

Python vs Java

There are a lot of programming languages out there, and every day, a new programming language is developing in some parts of the world. Each programming language is a mixture...

5 minutes read.

Important Difference between Python 2.x and Python 3.x with Example

The comparison between Python 2 and Python 3 is given in the article that follows. Python is a computer language that can perform more tasks than other languages and is...

5 minutes read.

How to reverse a string in python

How to reverse a string in python A Brief About Strings- The String is a data type in Python that has a sequence of characters. This series of characters are represented in...

4 minutes read.

Python Scikit-image | Image Processing Using Scikit-Image

What is Image Processing? The world is defined with images and, every image has its different specialties. An image can contain much-needed information that can be helpful in various ways. The process...

4 minutes read.

Scrimba python

Scrimba allows you to study whenever and wherever the topics or concepts you want. It also replaces classroom instruction with interactive screencasts, live events, and student-to-student help. Scrimba is an interactive...

3 minutes read.

Python Sending Email

Python Sending Email Simple Mail Transfer Protocol (SMTP) is used to handle sending e-mail and routing e-mail between mail servers. When we send an email either form a web-application or from a local software...

3 minutes read.

Difference between Sort and Sorted in Python

If you new to Python, it must be confusing the distinction between the Sort and Sorted functions. However, it is important to understand the differences in order to use them...

5 minutes read.

Python BS4 Code

Python BS4 Code The BS4 stands for BeautifulSoup version 4.x. The BeautifulSoup is a Python library which is used for pulling out data of the HTML & XML files using the...

14 minutes read.

Python Program to Convert Decimal into Binary, Octal, and Hexadecimal

Python Program to Convert Decimal into Binary, Octal, and Hexadecimal We know that the most widely used number system is a decimal system, but the computer only understands binary values. The...

2 minutes read.

How to Compare two Lists in Python?

How to Compare two Lists in Python The list is a data structure in Python that can hold values of different data types. The values are enclosed in square brackets [...

4 minutes read.

Anytree Python

Python's anytree module is frequently used within data science-related software. Anytree has a Tolerant License, a Construct File that is public, no errors, no risks, and excellent support. One may...

3 minutes read.

Python Recursion

Recursion is one of the most interesting yet important concepts of any programming language. If you want to be a good programmer or data scientist, then you should better have...

4 minutes read.

Application to get live USD/INR rate Using Tkinter in Python

Tkinter: The standard Python technique for building Graphical User Interfaces (GUIs) is Tkinter, which is included in all popular Python distributions. The only framework included in the Python standard library is...

4 minutes read.

Python List insert() method

Python List insert() method The list.insert () method in Python inserts an item at the specified position. Syntax list.insert(i, x) Parameter i: This parameter represents a number specifying the position to insert the given value. x: This parameter signifies...

1 minute read.

How to Convert String to List In Python?

How to Convert String to List In Python? We all are familiar with what strings and lists are, let us have a quick revision on them- Strings are a sequence of characters...

4 minutes read.

Python JSON Schema

Python-jsonschema JSON: JSON stands for JavaScript Object Notation. It is a text-based format that represents structured data and can be used to interchange data among various applications. This is self-defining language...

5 minutes read.