Python Program to check Armstrong number or not

Hello readers, welcome back, here is an another simple python program which checks whether a number is an Armstrong number or not.

Armstrong number — programminginpython.com

Generally, a number is said to be an Armstrong number if the sum of cubes of the digits is equal to its original number.

For Example : 153 is an Armstrong number as its sum of cubes of each digit 13 + 53 + 33 = 153 where as 456 is not as its sum of cubes of each digit is not 456.

Task :

Python program to check an integer number is an Armstrong number or not.

Approach :

  1. Read an input number using input() or raw_input().
  2. Check whether the value entered is integer or not.
  3. Check input_num is greater than 0.
  4. Initialise a variable named arm_num to 0.
  5. Find remainder of the input number by using mod (%) operator to get each digit in the number.
  6. Now cube each digit and add it to arm_num.
  7. Floor Divide the number by 10.
  8. Repeat steps 5. 6. 7 until the the input_num is not greater than 0.
  9. If input_num is equal to arm_num, print number is ARMSTRONG.
  10. When input_num is not equals to arm_num, the number is NOT an Armstrong number.

Program :

input_num = (input("Enter any number: "))
try:
arm_num = 0
val = int(input_num)
while val > 0:
reminder = val % 10
arm_num += reminder ** 3
val //= 10
if int(input_num) == arm_num:
print(input_num, 'is an ARMSTRONG number')
else:
print(input_num, 'is NOT an armstrong number')
except ValueError:
print("That's not a valid number, Try Again !")

Output :

Armstrong number - programminginpython.com
Armstrong number — programminginpython.com
Armstrong number - programminginpython.com
Armstrong number — programminginpython.com
Armstrong number - programminginpython.com
Armstrong number — programminginpython.com