题目解释

如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。 例如1^3 + 5^3 + 3^3 = 153
1000以内的阿姆斯特朗数: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407

num = int(input("请输入一个数字:"))
sum= 0
n = len(str(num))
temp = num
while temp >0:
    digit = temp %10 # 获取个位数字
    sum += digit**n  # 对计算结果进行累加
    temp //= 10
if num == sum :
    print("太棒了!",num,"是阿姆斯特朗数")
else:
    print("很遗憾!",num,"不是阿姆斯特朗数")

写一个查找固定范围内的阿姆斯特朗数

lower = int(input("最小值:"))
upper = int(input("最大值:"))
print("下面是你想要从{}到{}之间的阿姆斯特朗数\n".format(lower,upper))
for num in range(lower,upper+1):
    sum = 0
    n = len(str(num))
    temp = num
    while temp >0:
        digit = temp %10 # 获取个位数字
        sum+= digit**n  # 对计算结果进行累加

        temp //= 10
    if num == sum:
        print(num)