Python Program to Reverse a Number

To understand this example, you should have the knowledge of the following Python programming topics:


Example 1: Reverse a Number using a while loop

num = 1234
reversed_num = 0

while num != 0:
    digit = num % 10
    reversed_num = reversed_num * 10 + digit
    num //= 10

print("Reversed Number: " + str(reversed_num))

Output

4321

In this program, while loop is used to reverse a number as given in the following steps:

  1. First, the remainder of the num divided by 10 is stored in the variable digit. Now, the digit contains the last digit of num, i.e. 4.
    digit is then added to the variable reversed after multiplying it by 10. Multiplication by 10 adds a new place in the reversed number. One-th place multiplied by 10 gives you tenth place, tenth gives you hundredth, and so on. In this case, reversed_num contains 0 * 10 + 4 = 4.
    num is then divided by 10 so that now it only contains the first three digits: 123.
  2. After second iteration, digit equals 3, reversed equals 4 * 10 + 3 = 43 and num = 12.
  3. After third iteration, digit equals 2, reversed equals 43 * 10 + 2 = 432 and num = 1.
  4. After fourth iteration, digit equals 1, reversed equals 432 * 10 + 1 = 4321 and num = 0.
  5. Now num = 0, so the test expression num != 0 fails and while loop exits. reversed already contains the reversed number 4321.

Example 2: Using String slicing

num = 123456
print(str(num)[::-1])

Output

654321

Using the string slicing concept, you can get reverse the string. ::-1 corresponds to start:stop:step. When you pass -1 as step, the start point goes to the end and stop at the front.

Did you find this article helpful?