В этом посте о Python я подробно объясню, как проверить n-значные числа Армстронга в Python на примерах.
Число Армстронга в Python — это число, которое, возведенное в степень числа его цифр, равно сумме этого числа.
С помощью цикла while
Я покажу вам, как проверить трехзначное число Армстронга с помощью цикла while в Python.
Цикл while в Python выполняет набор операторов, пока условие истинно.
Это полная программа Python для проверки трехзначного числа Армстронга с использованием цикла while на Python.
check_armstrong_num = int(input("Enter 3-digit number : "))
armstrong_sum = 0
temp = check_armstrong_num
while temp > 0:
digit = temp % 10
armstrong_sum += digit * digit * digit
temp = temp//10
if armstrong_sum==check_armstrong_num:
print('It is an Armstrong number')
else:
print('It is not an Armstrong number')
Эти строки кода Python представляют собой цикл, который выполняет итерации, пока переменная temp больше 0. На каждой итерации он обрабатывает одну цифру числа, хранящегося в temp, и вычисляет сумму кубов его цифр.
while temp > 0:
digit = temp % 10
armstrong_sum += digit * digit * digit
temp = temp//10
Выход:
Enter 3-digit number : 401 It is not an Armstrong number Enter 3-digit number : 407 It is an Armstrong number
Вы можете обратиться к снимку экрана ниже, чтобы увидеть выходные данные программы Python для проверки трехзначных чисел Армстронга.

С помощью функции def
Функция def в Python — это блок кода, который запускается только при вызове. В результате функция может возвращать данные.
Я буду использовать функцию def для проверки 4-значных чисел Армстронга в Python. Это еще один метод достижения этой цели.
Полный код:
def digits_count(n):
i = 0
while n > 0:
n //= 10
i += 1
return i
def armstrong_sum(n):
i = digits_count(n)
s = 0
while n > 0:
digit = n%10
n //= 10
s += digit * digit * digit * digit
return s
input_number = int(input("Enter number: "))
sum = armstrong_sum(input_number)
if sum == input_number:
print(input_number, "is a four-digit Armstrong number.")
else:
print(input_number, "is not a four-digit Armstrong number.")
Выход:
Enter number: 1634 1634 is a four-digit Armstrong number.
Обратитесь к снимку экрана ниже, чтобы увидеть выходные данные программы Python для проверки 4-значных чисел Армстронга с помощью функции def.

Как проверить с помощью if else
Позвольте мне показать вам, как проверять n-значные числа Армстронга в Python. Для этого я буду использовать цикл while.
Ниже приведен полный код:
input_number = int(input("Enter the number : "))
armstrong_sum = 0
armstrong_number = input_number
number_order = len(str(input_number))
while armstrong_number > 0:
digit = armstrong_number % 10
armstrong_sum += digit ** number_order
armstrong_number = armstrong_number//10
if armstrong_sum==input_number:
print('It is an Armstrong number')
else:
print('It is not an Armstrong number')
Этот цикл while выполняет итерацию, пока переменная Armstrong_number больше 0.
Каждая итерация обрабатывает одну цифру числа, хранящегося в Armstrong_number, и вычисляет сумму цифр, возведенную в степень числа_порядка. Оператор ** в Python используется для возведения в степень.
while armstrong_number > 0:
digit = armstrong_number % 10
armstrong_sum += digit ** number_order
armstrong_number = armstrong_number//10
Выход:
Enter the number : 548834 It is an Armstrong number
На снимке экрана ниже показаны выходные данные программы Python для проверки n-значного числа Армстронга.

Заключение
Я надеюсь, что эта статья предоставила информацию для проверки n-значного числа Армстронга в Python. Кроме того, я проиллюстрировал различные сценарии проверки числа Армстронга в Python, например трехзначные и четырехзначные числа.