Bootstrap

用Python判断一个数是否是完全数

def number(n):
    list = []
    for i in range(1,n + 1):
        if n % i == 0:
            list.append(i)   
    return list                
k = int(input("请输入k值:"))
print(number(k))               #(其实到这里就已经很简单了,只需要看list[]的列表元素和的一般是不是等于该数就行,也就是n值)
from functools import reduc   #(可是我不会求,下面的方法是从CSDN上面借鉴别人的)
def sum_list(lt):
    lt1 = []
    for i in range(len(lt)):
        if lt[i] not in lt1:
            lt1.append(lt[i])
    return reduce(lambda x,y:x+y,lt1)
if sum_list(number(k)) == 2 * k:
    print("此数值是完全数")
else:
    print("此数值不是完全数")

在这里插入图片描述

;