Напишите функцию, которая будет проверять, является ли целое число совершенным числом.
Совершенное число — натуральное число, равное сумме всех своих собственных делителей (то есть всех положительных делителей, отличных от самого числа).
Например, 6 — совершенное число, поскольку 1 + 2 + 3 = 6, а 1, 2 и 3 — делители числа 6.
Аналогично, совершенным числом является 28, поскольку 1 + 2 + 4 + 7 + 14 = 28.
Примеры
check_perfect(6) ➞ True check_perfect(28) ➞ True check_perfect(496) ➞ True check_perfect(12) ➞ False check_perfect(97) ➞ False
Варианты решений
def check_perfect(num): return sum([i for i in range(1, num) if num%i==0]) == num
def check_perfect(num): factors = [] for i in range(1,num): if num % i == 0: factors.append(i) return sum(factors) == num