def is_perf(n):
s = 1
for i in range(2, n // 2):
if i * i > n: break
if n % i == 0:
s += i
s += n // i
return s == n
number = int(input("Введите число: "))
result = "совершенное" if is_perf(number) else "не совершенное"
print(f"Число {number} " + result)
Объяснение:
def is_perf(n):
s = 1
for i in range(2, n // 2):
if i * i > n: break
if n % i == 0:
s += i
s += n // i
return s == n
number = int(input("Введите число: "))
result = "совершенное" if is_perf(number) else "не совершенное"
print(f"Число {number} " + result)
Объяснение: