# Reverse Integer in Python

- Use the Mathematical Approach to Check if a Number is a Palindrome in Python
- Use the String Reversal Approach to Check if a Number is Palindrome in Python
- Use the List Reversal Approach to Find if a Number is a Palindrome in Python

A word or a number, when its characters or the digits are reversed, and if it remains the same, then it is called a palindrome. This article will introduce some methods to check if a number is a palindrome by reversing the provided number.

## Use the Mathematical Approach to Check if a Number is a Palindrome in Python

We can check if a number is a palindrome using the mathematical approach. Firstly, this method reverses the number and then checks the reversed number with the original number. If both values are the same, then the number is a palindrome. We can apply mathematical operations like modulo, addition, multiplication, and division to reverse a number.

For example, ask for input from the user using the `input()`

function and store it to the `original_number`

variable. Create a variable `copy_number`

and store the copy of `original_number`

in it. Create another variable, `reversed_number`

, and initialize it to `0`

. Use the `while`

loop to check if the `original_number`

is greater than `0`

. Inside the loop, store the remainder of the `orignal_number`

divided by `10`

in a `remainder`

variable. Use the modulo `%`

to find the remainder. Then, multiply the `reversed_number`

by `10`

and add `remainder`

to it. Store the value in the `reversed_number`

variable. Next, divide the `original_number`

by `10`

and store the value in the same `orginal_number`

variable. Check if the value of `copy_number`

and `reversed_number`

is the same, outside the loop. If the values are same, then print the message saying it is a palindrome and vice versa.

In the example below, the state of the `original_number`

changes in each iteration, so we stored a copy of it in the variable `copy_number`

. The number given by the user is `12321`

, which is the same when it is reversed, and the program shows that it is a palindrome. Thus, we can use the mathematical approach to check if a number is a palindrome.

Example Code:

```
#python 3.x
original_number = int(input('Enter an integer: '))
copy_number = original_number
reversed_number = 0
while original_number > 0:
remainder = original_number % 10
reversed_number = reversed_number * 10 + remainder
original_number = original_number // 10
if copy_number == reversed_number:
print(copy_number, 'is a palindrome number')
else:
print(copy_number, 'is not a palindrome number')
```

Output:

```
Enter an integer: 12321
12321 is a palindrome number
```

## Use the String Reversal Approach to Check if a Number is Palindrome in Python

We can use the string reversal approach in Python to check if a number is a palindrome. We can use the `[::-1]`

short-hand operation for the palindrome check. It is a one-liner for reversing an iterable, i.e., lists, strings, tuples, etc. As the operator works with the string, we can convert the integer value to a string, reverse the string and then convert it to an integer.

For example, take an integer input from the user and store it in the `number`

variable. Convert the `number`

into the string with the `str()`

function and use the `[::-1]`

operation with it. Wrap the whole expression with the `int()`

function to convert the reversed value into an integer. Finally, use the `if`

condition to compare the `number`

variable with the reversed string and display the message accordingly.

In the example below, we took an integer number as input, converted it to a string, and reversed it. Then reversed number is compared to the integer and compared with the `number`

variable. When we reverse the number `454`

, it becomes the same, but when we reverse the number `456`

, it becomes `654`

. Thus, we found if the `number`

variable is a palindrome.

Example Code:

```
#python 3.x
number = int(input('Enter a number : '))
if number == int(str(number)[::-1]):
print(number, 'is palindrome.')
else:
print(number, 'is not palindrome.')
```

Output:

```
Enter a number : 454
454 is palindrome.
Enter a number : 456
456 is not palindrome.
```

## Use the List Reversal Approach to Find if a Number is a Palindrome in Python

Using the List reversal method, we can reverse the number and check whether it is a palindrome. We can ask for an integer input and convert it into a string using the `str()`

function. The `list()`

function can be used that converts the string to a list. We can use the `reverse()`

function to reverse the list items. We can convert the list items into a string using the `' '`

separator with the `join()`

method. Finally, we can return the integer representation of the generated string. Thus, we can compare the reversed number with the original number to check if it is a palindrome.

For example, create a variable `original_number`

and store the input asked from the user. Convert the number into a string applying the `str()`

function and then list applying the `list()`

function. Store the result in the `lst_number`

variable. Use the `reverse()`

function on the `lst_number`

to reverse the list elements. Use the `''`

separator to call the `join()`

method on `lst_number`

to convert the list items to a single string. Use the `int()`

function to convert the string into an integer and compare it with the `original_number`

. Thus, we can find if the number is a palindrome.

Example Code:

```
#python 3.x
original_number = int(input('Enter an integer : '))
lst_number = list(str(original_number))
lst_number.reverse()
reversed_number = ''.join(lst_number)
if (original_number == int(reversed_number)):
print(original_number, 'is palindrome.')
else:
print(original_number, 'is not palindrome.')
```

Output:

```
Enter an integer : 99
99 is palindrome.
```