l=[]
t=[]
for m in range(4,1001):
for n in range(1,m):
if m%n==0:
l.append(n)
su=sum(l)
if su==m:
t.append(su)
print t
l=[]
t=[]
for m in range(1,1001):
for n in range(1,m):
if m%n==0:
l.append(n)
su=sum(l)
if su==m:
t.append(su)
l=[] #将计和列表清空
print t
我猜你是想求完全数,可是你的l数组一直在添加。按理应该每次进去的时候清空,你觉得呢?