Perfect Numbers in Range

Find perfect numbers in range 1-1000.

AdvancedPhase 6 - Category 1: Number LogicExample 3 of 10
perfect-numbers-in-range.py
1# Find perfect numbers
2print("Perfect numbers 1-1000:")
3
4for num in range(1, 1001):
5 divisor_sum = 0
6 for i in range(1, num):
7 if num % i == 0:
8 divisor_sum += i
9
10 if divisor_sum == num:
11 print(num, end=" ")
12print()

Output

Perfect numbers 1-1000:
6 28 496

What's going on

Check each number for perfect number property.

Key Concepts:

Find all divisors
Sum proper divisors
Compare with number