#! /usr/bin/python3
# -*- coding: utf-8 -*-
import math
def perfect_num():
'''如果一个数恰好等于它的真因子之和,则称该数为“完全数”,又称“完美数”。所谓的真因子是指除了其本身外的所有因子(约数)
'''
num = int(input('Please input a positive integer: '))
for k in range(2, num+1):
res = []
sum = 0
for i in range(1, int(k/2)+1):
if k % i == 0:
res.append(i)
for j in res:
sum += j
if sum == k:
print('%d是一个完全数' % k)
perfect_num()
运行结果: