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 variabledigit
. Now, thedigit
contains the last digit ofnum
, 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
contains0 * 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 equals4 * 10 + 3 = 43
andnum = 12
. - After third iteration,
digit
equals 2, reversed equals43 * 10 + 2 = 432
andnum = 1
. - After fourth iteration,
digit
equals 1, reversed equals432 * 10 + 1 = 4321
andnum = 0
. - Now
num = 0
, so the test expressionnum != 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.