- Python Basic Programs
- Python Program Examples
- Python Print Hello World
- Python Get Input from User
- Python Add Two Numbers
- Add Subtract Multiply Divide
- Python Check Even or Odd
- Python Check Prime or Not
- Python Check Alphabet or Not
- Python Check Vowel or Not
- Python Check Leap Year or Not
- Check Reverse equal Original
- Check Positive Negative Zero
- Python Check Armstrong or Not
- Python Check Palindrome or Not
- Python Check Perfect Number
- Python Find Reverse of Number
- Python Count Digits in Number
- Python Add Digits of Number
- Sum of First and Last Digits
- Python Product of Mid Digits
- Sum of Squares of Digits
- Interchange Digits of Number
- Python Sum of n Numbers
- Python Print ASCII Values
- Python Swap Two Numbers
- Python Swap Two Variables
- Python Fahrenheit to Celsius
- Python Celsius to Fahrenheit
- Python Display Calendar
- Python Days into Years, Weeks
- Find Largest of Two Number
- Find Largest of Three Number
- Python Print Fibonacci Series
- Generate Armstrong Numbers
- Python Make Simple Calculator
- Python Add Binary Numbers
- Binary Number Multiplication
- Python Mathematical Programs
- Find Sum of Natural Numbers
- Find Average of n Numbers
- Python Print Multiplication Table
- Print Table using Recursion
- Python Find Average Percentage
- Python Find Grade of Student
- Find Square Root of Number
- Python Print Prime Numbers
- Find Numbers Divisible by
- Python Find Factors of Number
- Python Find Factorial of a Number
- Python Find HCF & LCM
- Python Kilometres to Miles
- Python Find Area of Square
- Python Find Area of Rectangle
- Python Find Area of Triangle
- Python Find Area of Circle
- Python Find Perimeter of Square
- Find Perimeter of Rectangle
- Python Find Perimeter of Triangle
- Find Circumference of Circle
- Python Simple Interest
- Python Solve Quadratic Equation
- Python Different Set of Operations
- Python Display Powers of 2
- Python Find nCr & nPr
- Python Pattern Programs
- Python Print Pattern Programs
- Python Print Diamond Pattern
- Python Print Floyd's Triangle
- Python Print Pascal's Triangle
- Python List Programs
- Python Count Even/Odd in List
- Python Positive/Negative in List
- Python Even Numbers in List
- Python Odd Numbers in List
- Python Sum of Elements in List
- Sum of Odd/Even Numbers
- Python Element at Even Position
- Python Element at Odd Position
- Python Search Element in List
- Python Largest Number in List
- Python Smallest Number in List
- Python Second Largest in List
- Python Second Smallest in List
- Python Insert Element in List
- Python Delete Element from List
- Python Multiply Numbers in List
- Swap Two Elements in List
- Python 1D Array Program
- Python Linear Search
- Python Binary Search
- Python Insertion Sort
- Python Bubble Sort
- Python Selection Sort
- Remove Duplicates from List
- Python Reverse a List
- Python Merge Two List
- Python Copy a List
- Python Conversion Programs
- Python Decimal to Binary
- Python Decimal to Octal
- Python Decimal to Hexadecimal
- Python Binary to Decimal
- Python Binary to Octal
- Python Binary to Hexadecimal
- Python Octal to Decimal
- Python Octal to Binary
- Python Octal to Hexadecimal
- Python Hexadecimal to Decimal
- Python Hexadecimal to Binary
- Python Hexadecimal to Octal
- Python Matrix Programs
- Python Add Two Matrices
- Python Subtract Two Matrices
- Python Transpose Matrix
- Python Multiply Matrices
- Python String Programs
- Python Print String
- Python Find Length of String
- Python Compare Two Strings
- Python Copy String
- Python Concatenate String
- Python Reverse a String
- Python Swap Two Strings
- Python Uppercase to Lowercase
- Python Lowercase to Uppercase
- Python Check Substring in String
- Python Count Character in String
- Count Repeated Characters
- Python Count Word in Sentence
- Python Count Each Vowels
- Python Capitalize Character
- Python Capitalize Word in String
- Python Smallest/Largest Word
- Remove Spaces from String
- Remove Duplicate Character
- Remove Vowels from String
- Remove Punctuation from String
- Python Remove Word in String
- Python Remove Duplicate Words
- WhiteSpace to Hyphens
- Replace Vowels with Character
- Replace Character in String
- Python Sort String in Alphabetical
- Sort Word in Alphabetical Order
- Extract Number from String
- Python Check Anagram Strings
- Python File Programs
- Python Read a File
- Python Write to File
- Python Append Text to File
- Python Copy Files
- Python Merge Two Files
- Python Counts Characters in File
- Python Count Words in File
- Python File Content in Reverse
- Python Lines Contains String
- Python Delete Line from File
- Python Capitalize Word in File
- Python Replace Text in File
- Replace Specific Line in File
- Python Find Size of File
- Python List Files in Directory
- Python Delete Files
- Python Misc Programs
- Python Reverse a Tuple
- Python Merge Two Dictionary
- Python bytes to String
- Python bytearray to String
- Generate Random Numbers
- Python Print Address of Variable
- Python Print Date and Time
- Python Get IP Address
- Python Shutdown/Restart PC
- Python Tutorial
- Python Tutorial
Python Program to Reverse a Number
This article is created to cover some programs in Python, that find and prints reverse of a number entered by user. Here are the list of approaches used:
- Find reverse of a number using while loop
- Using for loop
- Using list
- Using function
- Using recursion
Reverse a Number using while Loop
To find reverse of a given number in Python, you have to ask from user to enter a number, then reverse and print like shown in the program given below. The question is, write a Python program to reverse a number. Here is its answer:
print("Enter a Number: ") num = int(input()) rev = 0 while num!=0: rem = num%10 rev = rem + (rev*10) num = int(num/10) print("\nReverse =", rev)
Here is its sample run:
Now supply the input say 236 as number, press ENTER
key to find and print its reverse like shown in the snapshot given below:
The dry run of above program with 236 as user input, goes like:
- When user enters the number say 236, it gets stored in num. So num=236
- The condition (of while loop) num!=0 or 236!=0 evaluates to be true, therefore program flow goes inside the loop and executes all the three statements present inside the block of this loop
- So num%10 or 236%10 or 6 gets initialized to rem
- Then rem + (rev*10) or 6 + (0*10) (rev=0 initially) or 6 gets initialized to rev
- Finally int(num/10) or int(236/10) or int(23.6) or 23 gets initialized to num. Now the condition of while loop again gets evaluated with new value of num
- That is, the condition num!=0 or 23!=0 again evaluates to be true, therefore program flow again goes inside the loop
- This process continues until the condition evaluates to be false
- In this way, after exiting from the loop, the variable rev holds the reverse of given number
- So print the value of rev on output, as reverse of a number, just after exiting from the loop
Modified Version of Previous Program
I've included try-except block in this program, to handle with invalid inputs. The end used here to skip insertion of an automatic newline. And the str() method converts into a string type value.
print("Enter a Number: ", end="") try: num = int(input()) rev = 0 temp = num while num!=0: rev = (num%10) + (rev*10) num = int(num/10) print("\nReverse of " +str(temp)+ " is " +str(rev)) except ValueError: print("\nInvalid Input!")
Here is its sample run with user input 549:
Reverse a Number using for Loop
This program uses for loop to do the same job, that is of reversing a number. Let's have a look at the program first:
print("Enter a Number: ", end="") num = int(input()) rev = 0 numlen = len(str(num)) temp = num for i in range(numlen): rev = (num%10) + (rev*10) num = int(num/10) print("\nReverse of " +str(temp)+ " is " +str(rev))
Produces same output as of previous program. The following code (from above program):
for i in range(numlen):
is used to execute following statements (present inside the block of above for loop):
rev = (num%10) + (rev*10)
num = int(num/10)
numlen number of times. For example, if given number is 549, then using the following statement:
numlen = len(str(num))
the length of str(549) or "549" gets initialized to numlen, that is 3. So numlen=3. Therefore both statements present inside for loop's block, executes 3 times.
Note - The statements inside for loop gets executed x number of times. The value of x indicates the total digit of given number.
Reverse a Number using List
Now this program uses list to reverse a given number. The append() is used to add or append new element (number here) at the end of list.
print("Enter a Number: ", end="") num = int(input()) temp = num nums = [] while num!=0: rem = num%10 nums.append(rem) num = int(num/10) print(end="\nReverse of " +str(temp)+ " is ") for i in range(len(nums)): print(nums[i], end="") print()
Reverse a Number using Function
This program uses a user-defined function named rev(), that returns reverse of a number passed as its argument.
def rev(n): r = 0 while n!=0: r = (n%10) + (r*10) n = int(n/10) return r print("Enter a Number: ", end="") num = int(input()) print("\nReverse of " +str(num)+ " is " +str(rev(num)))
Reverse a Number using Recursion
This is the last program of this article, created using a recursive function. That is, a recursive function named rev() is implemented here to return reverse of a number. The second argument passed to this function is the argument corresponds to rev (as defined in previous programs), with its initial value as 0
def rev(n, r): if n==0: return r else: return rev(int(n/10), (n%10)+(r*10)) print("Enter a Number: ", end="") num = int(input()) print("\nReverse of " +str(num)+ " is " +str(rev(num, 0)))
Same Program in Other Languages
« Previous Program Next Program »