标题: 每日一坑-阿姆斯特朗数的疑问 [打印本页] 作者: cbh 时间: 2019-9-28 16:05 标题: 每日一坑-阿姆斯特朗数的疑问 def amu(n):
for j in range(1,n + 1):
# a = str(j).split()
x = len(str(j))
m = []
# print(m)
for i in str(j):
s = int(i) ** x
# print(x)
m.append(s)
p = sum(m)
# print(p)
r = []
if j == p:
r.append(j)
return r
amu(1000)
我这个为什么执行完出不来结果呢?...
还有个问题。。老师的答案:
def judge_arms(i): # 将该数转换为字符串 123 -> '123' tem = str(i) # 按照 n位正整数等于其各位数字的n次方 进行求和# sum = 1**3 + 2**3 + 3**3 tem_sum = sum([int(j)**len(tem) for j in tem]) # 判断求和之后的数是否和原数相等if i == tem_sum: returnTrue
'''寻找小于 1000 的阿姆斯特朗数逐一遍历小于 1000 的数判断是否为阿姆斯特朗数'''
def arms(N): for i in range(1, N+1): if judge_arms(i): print(i)arms(1000)