一、判断输入的数字是否是阿姆斯特朗数
# 输入的数字是否是阿姆斯特朗数
num = input("请输入一个大于0的数字:")
while not num.isdigit():
num = input("输入有误,请重新输入一个正整数")
number = int(num)
l_new = []
n = len(num)
for i in num:
Int_i = int(i)
l_new.append(Int_i**n)
# print(Int_i)
sum_n = sum(l_new)
# print(l_new)
# print(sum(l_new))
if sum_n == number:
print(number,"是阿姆斯特朗数")
else:
print(number,"不是阿姆斯特朗数")
运行结果:
二、输出1000以内的阿姆斯特朗数
for num in range(1,1000):
a = num//100
b = (num//10)%10
c = num % 10
n = len(str(num))
if a**n +b**n +c**n ==num:
print(num)
三、输入的数以内的阿姆斯特朗数
# 输入的数字是否是阿姆斯特朗数
nums = input("请输入一个大于0的数字:")
while not nums.isdigit():
nums = input("输入有误,请重新输入一个正整数")
number = int(nums)
for num in range(1,number+1): #遍历比输入数据小的数据
n = len(str(num))
sum_num = 0
for i in str(num):
sum_num += int(i)**n
if sum_num == num:
print(num, "是阿姆斯特朗数")
else:
# print(num, "不是阿姆斯特朗数")
pass
运行结果: