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