Python Program to Interchange Digits of a Number
This article is created to cover some programs in Python that interchange the digits of a number entered by the user at run-time. Here is a list of Python programs covered in this article:
- Interchange the first and last digits of a given number.
- Interchange the digits of a given number using a list.
- Interchange any two desired digits of a given number.
Interchange the first and last digits of a number
The question is: write a Python program to interchange the first and last digits of a number given by the user. Here is its answer:
print("Enter the Number: ") num = int(input()) rev = 0 noOfDigit = 0 temp = num while temp>0: temp = int(temp/10) noOfDigit = noOfDigit+1 if noOfDigit<2: print("\nIt is a Single-digit Number!") elif noOfDigit==2: temp = num while temp>0: rem = temp%10 rev = (rev*10)+rem temp = int(temp/10) print("\nFirst and Last (Second) Digit Interchanged Successfully!") print("\nNew Number: ") print(rev) else: temp = num while temp>0: rem = temp%10 rev = (rev*10)+rem temp = int(temp/10) revNum = rev rev = 0 temp = num noOfDigitTemp = noOfDigit while temp>0: remTemp = revNum%10 if noOfDigitTemp==noOfDigit: rem = temp%10 rev = (rev*10)+rem elif noOfDigitTemp==1: rem = temp%10 rev = (rev*10)+rem else: rev = (rev*10)+remTemp temp = int(temp/10) revNum = int(revNum/10) noOfDigitTemp = noOfDigitTemp-1 print("\nFirst and Last Digit Interchanged Successfully!") print("\nNew Number: ") print(rev)
Here is its sample run:
Now supply the input, say 12034, as a number to interchange the first (1) and last (4) digits of the given number:
Here is another sample run with user input: 12.
Interchange the first and last digits using a list
This program is similar to the previous one. The only difference is that this program uses a Python list to do the job.
print(end="Enter the Number: ") num = int(input()) rev = 0 noOfDigit = 0 temp = num while temp>0: temp = int(temp/10) noOfDigit = noOfDigit+1 temp = num while temp>0: rem = temp%10 rev = (rev*10)+rem temp = int(temp/10) nums = [] for i in range(noOfDigit): rem = rev%10 nums.insert(i, rem) rev = int(rev/10) if noOfDigit==1: print("\nIt's a single-digit number!") elif noOfDigit==2: temp = nums[0] nums[0] = nums[1] nums[1] = temp print("\nFirst and Last (Second) Digit Interchanged Successfully!") print(end="The New Number = " +str(nums[0])+str(nums[1])) else: i = 0 temp = nums[i] nums[i] = nums[noOfDigit-1] nums[noOfDigit-1] = temp print("\nFirst and Last Digit Interchanged Successfully!") print(end="The New Number = ") for i in range(noOfDigit): print(end=str(nums[i]))
Here is its sample run with user input, 230498:
Interchange any two desired digits of a number
The above two programs interchange the first and last digits of a given number automatically. But what if the user wants to interchange any two particular digits of a number entered by him or her?
To overcome this problem, we have another program that interchanges any two required digits of a given number. Here is the program:
print(end="Enter the Number: ") num = int(input()) rev = 0 noOfDigit = 0 temp = num while temp>0: temp = int(temp/10) noOfDigit = noOfDigit+1 if noOfDigit==1: print("\nIt's a single-digit number!") else: print(end="\nInterchange the Digit at Position: ") posFirst = int(input()) print(end="With Digit at Position: ") posSecond = int(input()) if posFirst>noOfDigit or posSecond>noOfDigit: print("\nInvalid Input!") else: temp = num while temp>0: rem = temp%10 rev = (rev*10)+rem temp = int(temp/10) arr = [] for i in range(noOfDigit): rem = rev%10 arr.insert(i, rem) rev = int(rev/10) i = 0 temp = arr[posFirst-1] arr[posFirst-1] = arr[posSecond-1] arr[posSecond-1] = temp print("\nDigits Interchanged Successfully!") print(end="The New Number = ") for i in range(noOfDigit): print(end=str(arr[i]))
Here is its sample run with user input: 1234 as a number, 1 as the position of the first digit to interchange with the digit at position 2:
« Previous Program Next Program »
Liked this post? Share it!