Python Program to check if a number is an Armstrong or not
In this tutorial, we will discuss Python program to check if a number is an Armstrong or not.
Before going to the program first, let us understand what is an Armstrong Number.
Armstrong Number:
- An Armstrong number (also known as a narcissistic number) is a number that is equal to the sum of its digits raised to the power of the number of digits.
- For example, 153 is an Armstrong number because 13+53+33=1531^3 + 5^3 + 3^3 = 153.
Related: Python Program for Fibonacci Series
Program code for checking if a number is an Armstrong or not in Python
# Armstrong Number Checker in Python
def is_armstrong(num):
num_str = str(num)
num_digits = len(num_str)
sum_of_powers = sum([int(digit) ** num_digits for digit in num_str])
return sum_of_powers == num
number = int(input("Enter a number: "))
if is_armstrong(number):
print(f"{number} is an Armstrong number.")
else:
print(f"{number} is not an Armstrong number.")
Explanation
- Function Definition: The
is_armstrongfunction takes an integernumas input and returnsTrueif the number is an Armstrong number, andFalseotherwise. - Sum of Powers: The function calculates the sum of each digit raised to the power of the number of digits using a list comprehension.
- Main Program: The program prompts the user to enter a number and then checks if it is an Armstrong number using the
is_armstrongfunction.
Output
- When you run the above program, it will prompt you to enter a number.
- After entering the number, it will check whether the number is an Armstrong number or not and print the result.
Conclusion
- In this tutorial, we learned how to check if a given number is an Armstrong number using a Python program.
- Understanding this concept is essential for solving various mathematical problems and competitive programming challenges.
- Practice this example to enhance your programming skills and understanding of Armstrong numbers.

