Categories

# Python Program to Reverse a Number

In this example, you will learn to reverse a number.

## 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.