Автор оригинала: Python Examples.
Python Program для проверки, если номер Armstrong
Говорят, что ряд n-цифр – армстронг, если он подчиняется следующим условиям.
abcd... = pow(a,n) + pow(b,n) + pow(c,n) + ...
В этом руководстве мы напишем функцию Python, а также пройти примеры, где мы проверим, если данный номер – номер Armstrong или нет.
Функция Python Armstrong
Ниже приведена функция Python, которая принимает номер и проверки, если данное число Armstrong.
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
В приведенной выше функции мы определили следующую последовательность шагов.
- Подумайте, что аргумент является строкой. Если нет, мы преобразуем его в строку, используя
ул. (Num)Отказ n (Num)Находит значение n, количество цифр в данном номере.- В Python для петли Мы вычислили сумму полномочий.
- В Python, если еще Заявление, мы проверяем, равен ли аргументом результатам суммы уравнения полномочий. Если два числа равны, то данное число Armstrong, еще нет.
Пример 1: Проверьте, если указано номер Armstrong
В следующем примере мы прочитаем номер от пользователя и проверьте, является ли это число Armstrong.
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 Numebr? ',result,sep="")Выход
C:\python>python example.py Enter a number: 123 Is 123 an Armstrong Numebr? False C:\python>python example.py Enter a number: 153 Is 153 an Armstrong Numebr? True C:\python>python example.py Enter a number: 1634 Is 1634 an Armstrong Numebr? True C:\python>python example.py Enter a number: 413 Is 413 an Armstrong Numebr? False
Резюме
В этом руководстве примеров Python мы узнали, как проверить, является ли данный номер Armstroung номер не.