仅使用循环打印程序
答
def getDivisors(number):
divList = []
for x in range(1,number):
if number % x == 0:
divList.append(x)
return divList
def isPerfectNumber(divList,number):
if sum(divList) == number:
return True
else:
return False
for x in range(2,10001):
divList = getDivisors(x)
if isPerfectNumber(divList,x):
print(x,divList)
看起来像代码的作品。我也打印出分区清单,以便您可以检查自己的数字。
这是我的输出:
6 [1,2,3]
28 [1,2,4,7,14]
496 [1,2,4,8 ,16,31,62,124,248]
8128 [1,2,4,8,16,32,64,127,254,508,1016,2032,4064]
+0
谢谢你,感谢你的帮助。我刚刚开始编程,所以我可能看起来有点浮肿,但我希望随着时间的推移,我会变得更好。 –
不要发布你的代码的图片。相反,请复制并粘贴代码,并确保格式化,以便其他人可以复制并运行代码。阅读这里的指导http://*.com/help/how-to-ask。 – lufte
您的其他人正在打印'z',但是当您返回'z'时,您也正在打印它。另外我不确定我是否理解该计划的目标。如果你想找到一个范围内的所有正整数,你可以从一端开始,递减/递增,直到到达另一端。 – PeskyToaster