How to Reverse Integer in Python

Arjun Adhikari Feb 02, 2024
  1. Use the Mathematical Approach to Check if a Number is a Palindrome in Python
  2. Use the String Reversal Approach to Check if a Number is Palindrome in Python
  3. Use the List Reversal Approach to Find if a Number is a Palindrome in Python
How to Reverse Integer 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.

Related Article - Python Integer