# Python Program to check Armstrong number or not

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

Generally, a number is said to be an Armstrong number if an n -digit number equal to the sum of the nth powers of its digits.

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

You can watch the video on YouTube here.

#### Armstrong number – Code Visualization

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 an integer or not.
3. Check input_num is greater than 0.
4. Initialize 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 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 :

```__author__ = 'Avinash'

input_num = (input("Enter any number: "))
digit_len = len(str(input_num))

try:
arm_num = 0
val = int(input_num)
while val > 0:
reminder = val % 10
arm_num += reminder ** digit_len
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 !")
```