In this example, you will learn to reverse a number.
Table of Contents
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:
-
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. -
After second iteration,
digit
equals 3, reversed equals
4 * 10 + 3 = 43
and
num = 12
. -
After third iteration,
digit
equals 2, reversed equals
43 * 10 + 2 = 432
and
num = 1
. -
After fourth iteration,
digit
equals 1, reversed equals
432 * 10 + 1 = 4321
and
num = 0
. -
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.