Perfect Number Check

Check if a number is perfect number.

IntermediatePhase 2 - Level 2: Number-based Looping LogicExample 6 of 14
perfect-number-check.py
1# Take number
2num = int(input("Enter a number: "))
3
4# Find sum of proper divisors
5divisor_sum = 0
6for i in range(1, num):
7 if num % i == 0:
8 divisor_sum += i
9
10# Check perfect number
11if divisor_sum == num:
12 print("Perfect number")
13else:
14 print("Not a perfect number")

Output

Enter a number: 6
Perfect number

Enter a number: 10
Not a perfect number

What's going on

Perfect number: sum of proper divisors equals the number.

Key Concepts:

Find all divisors from 1 to num-1
Sum them
Compare with original number