In this post, we will learn how to reverse a number in python with a detailed explanation and algorithm.

So let’s start with the algorithm…

## Algorithm to Reverse a Number in Python

- Convert the given number into String Using the
function.`str()`

- Reverse that string Using the slicing operator (

)**[::-1]** - Convert reversed string into an integer again.
- At last print the result.

From the above algorithm, we understood how to reverse a number in python but before writing a program few programming concepts you should know about:

### Source Code

```
num = 125 #input
num = str(num) # convert int --> str
reversed_num = num[::-1] # reverse a string
reversed_num = int(reversed_num) # convert back str --> int
print(f"Reversed number is {reversed_num}") # result
```

### Output

Reversed number is 521 |

**we can also write the above program in just one line:**

```
num = 45
reversed_num = int(str(num)[::-1])
print(f"Reversed number is {reversed_num}")
```

**Output**

Reversed number is 54 |

**Let’s modify the above program and write it by taking input from the user**

```
num = int(input('Enter a number: '))
reversed_num = int(str(num)[::-1])
print(f"Reversed number is {reversed_num}")
```

**Output**

Enter a number: 451 Reversed number is 154 |

Now let’s write this program using a function.

## Reverse a Number in Python Using a Function

Before writing this program you should know about:

### Source Code

```
def reverse_num(num):
return int(str(num)[::-1])
my_num = int(input('Enter a number: ')) #user input
print(f'Given number: {my_num}')
print(f'Reversed number: {reverse_num(my_num)}')
```

### Output

Enter a number: 1234 Given number: 1234 Reversed number: 4321 |

There is one general approach to solving this problem let’s see it.

## Reverse a Number in Python Using a while loop

This is General Approach to reverse a number not only in python but in any programming language.

Before writing this program you should know about:

### Source Code

```
number = int(input('Enter a number: '))
res_num = 0
while number > 0:
reminder = number % 10
res_num = res_num*10 + reminder
number //= 10
print(f'Reversed number: {res_num}')
```

### Output

Enter a number: 123 Reversed number: 321 |