用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("此数值不是完全数")