如何用函数判断完美数,规定6=1+2+3的格式

img

import math
def perfectNum(num):
    sum = 0
    for j in range(1,int(math.sqrt(num))+1):
        if num%j==0:
            sum += j
            if j>1 and j!=num//j:
                sum += num//j
    if sum == num:
        return True
    else:
        return False

perfect_list=[]
for i in range(2,100):
    if perfectNum(i)==True:
        perfect_list.append(i)
    else:
        continue
print(perfect_list)

如果有帮助,请点个采纳呀~