。
完美数是一个正数,且其因子(不包括它本身)之和等于自己。例如,6 是一个完美数,因为它的因子有 1,2 和 3,而 1 + 2 + 3 = 6。 其他的完美数如 28,496 和 8128。
- 定义函数
check_perfect()
,参数为num
。 - 在函数内,如果数字
num
是完美数,返回True
,否则返回False
。
def check_perfect(num):
l=[]
for i in range(num):
if num%i==0:
l.append(i)
return sum(l)==num
# 输入处理
num = int(input())
# 调用函数
print(check_perfect(num))
以上代码可以精简为一行:
def check_perfect(num):
return sum( [i for i in range(1,num) if num%i==0])==num
# 输入处理
num = int(input())
# 调用函数
print(check_perfect(num))