Python – Check if Number is Armstrong

Python Program to Check if Number is Armstrong

An n-digit number abcd.. is said to be an Armstrong number if it obeys the following condition.

abcd.. = pow(a,n) +  pow(b,n) + pow(c,n) + ...

In this tutorial, we shall write a Python function, and also go through examples, where we shall check if a given number is an Armstrong number or not.

Python Armstrong Function

The following function armstrong()can take a number as argument and check if this number is Armstrong or not. The function returns True if the given number if Armstrong, or False if not.

def armstrong(num):
	num = str(num)
	n = len(num)
	result = 0
	# compute pow(a,n)+pow(b,n)+...
	for i in num:
		result += pow(int(i), n)
		#no need to check if part of the expansion exceeds the given number
		if ( result > int(num) ):
			break
	#check if given number equals expansion
	if ( int(num) == result ):
		return True
	else:
		return False

In the above function, we have defined following sequence of steps.

Example 1: Check if Given Number is Armstrong

In the following example, we will read a number from the user and check if that is an Armstrong Number.

Python Program

def armstrong(num):
	num = str(num)
	n = len(num)
	result = 0
	# compute pow(a,n)+pow(b,n)+...
	for i in num:
		result += pow(int(i), n)
		#no need to check if part of the expansion exceeds the given number
		if ( result > int(num) ):
			break
	#check if given number equals expansion
	if ( int(num) == result ):
		return True
	else:
		return False

# Read the number as a string
num = input('Enter a number: ')
result = armstrong(num)
print('Is ',num,' an Armstrong Number? ',result,sep="")

Output

C:\python>python example.py
Enter a number: 123
Is 123 an Armstrong Number? False

C:\python>python example.py
Enter a number: 153
Is 153 an Armstrong Number? True

C:\python>python example.py
Enter a number: 1634
Is 1634 an Armstrong Number? True

C:\python>python example.py
Enter a number: 413
Is 413 an Armstrong Number? False

Summary

In this tutorial of Python Examples, we learned how to check if a given number is an Armstrong number or not.

Related Tutorials

Privacy Policy Terms of Use

SitemapContact Us