丢循环里
做完数的特别蠢,
def wan():
list = []
for i in range(1,1000):
for j in (1,i):
if i % j ==0:
list.append(j)
x = sum(list)
if x == i:
print(i)
问题很明显,累加起来了。一直在想怎么跳出循环还是弄一个新的集合。然后发现了,把list丢循环里就很ok
def wan():
count = 0
for i in range(1, 1001):
list1 = []
for j in range(1, i):
if i % j == 0:
list1.append(j)
if sum(list1) == i: # sum函数求和
count += 1
print('%d是完数,因子是'%i, list1)
生草www