# 判断一个数是不是完美数
n = int(input("输入一个自然数:"))
# 求出除自身外的所有因数
def get_factors(n):
factors = []
for i in range(1, n//2+1): #想想这里的范围为什么是1-n//2+1
if(n % i == 0):
factors.append(i)
return factors
factors = get_factors(n)
# 求出所有因数(自身除外)的和
sm = 0
for j in factors:
sm += j
if(sm == n):
print(n, "是完全数")
else:
print(n, "不是完全数")