我知道我的第一个函数是正确的,它可以验证一个完美的数字(即 6、28、496)。但是,我正在努力打印完美数字列表。这意味着如果我调用 listPerfect(500),我无法列出数字 6、28 和 496。我错过了什么?
谢谢你看我的问题。
def perfect(n):
x=0
for i in range(1,n):
if n%i==0:
x+=i
else:
x=x
if x==n:
return True
else:
return False
def listPerfects(n):
for i in range(1,n+1):
if i == perfect(n):
print(i)
else:
i=i