Напишите функцию, которая будет проверять, является ли целое число совершенным числом.

Совершенное число — натуральное число, равное сумме всех своих собственных делителей (то есть всех положительных делителей, отличных от самого числа).

Например, 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

Марина

Recent Posts

10 удалённых Python-вакансий

Если вы ищете работу на Python, на Talanto.work сейчас есть варианты для junior, middle, senior…

6 месяцев ago

Где искать Python-вакансии в 2026 году: зачем на Talanto.work появился отдельный сценарий поиска

Рынок Python-вакансий большой, но удобным его назвать сложно. Формально вакансий много, однако в реальном поиске…

6 месяцев ago

Срезы в Python со всеми подробностями

Срезы в Python — это больше, чем a[2:7]. В статье — быстрый разбор полезных приёмов:…

8 месяцев ago

Возведение в степень в Python: полное руководство

В этой статье мы рассмотрим возведение в степень в Python с помощью различных методов, от…

9 месяцев ago

Как удалить дубликаты из списка Python?

Дубликаты в списке Python — частая проблема. В статье показано, как быстро убрать повторы, в…

9 месяцев ago

Виртуальный (shared) хостинг от SpaceWeb: технический обзор

Услуга виртуального хостинга на SpaceWeb позволяет арендовать часть сервера (shared-сервера) и разместить на нём свой…

11 месяцев ago