python3基础案例1 求1000以内的完数

python基础案例1 求1000以内的完数


# #求1000以内的完数
# for i in range(1,1001):
#     listc = [] #列表放在这里的目的是每一次判断,当这个数不是完数,清空之前存入的数据
#     for j in range(1,i):
#         if i%j == 0:
#             listc.append(j)
#         #执行顺序:当if条件满足,执行下面语句
#         #执行完listc.append(j),回到内层for循环(j循环)
#         #当if i%j == 0:不满足,直接回到内层for循环(j循环)
#         #当当前数据j循环全部执行完毕,执行后面的if语句(if sum(listc) == i:)
#     if sum(listc) == i:
#             #print(listb)
#             print(sum(listc))

num = 0
for i in range(1,1001):
    lista = []
    for j in range(1,i):
        if i%j == 0:
            lista.append(j)
    if sum(lista) == i:
        print('{}是完数,其因子为{}'.format(sum(lista),lista))
        num +=1
print('1000以内的完数一共{}个'.format(num))

你可能感兴趣的:(python)