Python Program To Reverse a Number

2 min read

Problem Definition

Create a Python program to reverse a number in Python.

Solution

This article will show multiple solutions for reversing a number in Python.

Reversing a number mathematically

The algorithm below is used to reverse a number mathematically with time complexity of O(log n) where n is input number.

Algorithm

Input : num

(1) Initialize rev_num = 0

(2) Loop while num > 0

  • (a) Multiply rev_num by 10 and add remainder of num divide by 10 to rev_num
  • (b) Divide num by 10

(3) Return rev_num

 Program

num = 12345

rev_num = 0

while num != 0:
    rev_num = rev_num * 10
    rev_num = rev_num + (num%10)
    num = num // 10
print(rev_num)

Output

54321

Using reversed() method

Python's built in reversed() method returns an iterator that accesses the given sequence in the reverse order.

Program

# input
num = 1234

rev_iterator = reversed(str(num))
rev_num = "".join(rev_iterator)

print(rev_num)

Output

4321

Note that the reversed() method doesn't accept integer as a parameter therefore data type is converted to a string.

Sincereversed() returns an iterator we need to join it before printing it out.

Using slicing

Python string supports slicing to create substring.

str_object[start_pos:end_pos:step]

The slicing starts with the start_pos index (included) and ends at the end_pos index (excluded). The step parameter is used to specify the steps to take from the start to end index.

Program

num = 123

rev_num = str(num)[::-1]

print(rev_num)

Output

321

Since slicing work on a string we need to convert the number to a string, then create a slice that starts with the length of the string, and ends at index 0 with a step of -1.

Suggested read:


PROGRAMS

Latest Articles

Latest from djangocentral

Capturing Query Parameters of request.get in Django

In Django, the request object contains a variety of information about the current HTTP request, including the query parameters. Query parameters are a way to pass additional information in the URL and are used to filter or sort data. The request object p…
Read more →

2 min read

Understanding related_name in Django Models

In Django, related_name is an attribute that can be used to specify the name of the reverse relation from the related model back to the model that defines the relation. It is used to specify the name of the attribute that will be used to access the relat…
Read more →

2 min read