最近在学习 Python,所以找了些例题为了熟悉语法
阿姆斯特朗数的定义是:一个n位正整数等于其各位数字的n次方之和,举个例子说1^3 + 5^3 + 3^3 = 153这样的就是阿姆斯特朗数。
num = int(input("请输入一个数字:"))
# 初始化变量 sum
sum = 0
# 指数
n = len(str(num))
# 检测
# 方法1
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** n
temp //= 10
# 输出结果
if num == sum:
print(num, "是阿姆斯特朗数")
else:
print(num, "不是阿姆斯特朗数")
# 方法二
for i in range(1, 1000):
# i = x * 100 + y * 10 + z
z = i % 10
y = ((i - z) % 100) / 10
x = (i - z - y * 10) / 100
if x >= 1:
n = 3
elif y >= 1:
n = 2
else:
n = 1
if i == x ** n + y ** n + z ** n:
print(i, end=' ')
#方法三:
for i in str(num):
sum += int(i)**n
# 输出
if num == sum:
print("%d 是阿姆斯特朗数" % num)
# 若是阿姆斯特朗数字 则结束
else:
print("%d 不是阿姆斯特朗数" % num)