Skip to Main Content
Blog

Print all Perfect Numbers in Python

Print all Perfect Numbers in Python

Enter lower bound (p): 1
Enter upper bound (p): 10
6, 28, 496, 8128,
# Function to check if a number is a Perfect number
def is_perfect(num: int):
    sum = 0
    for d in range(1, num):
        if num % d == 0:
            sum += d
    return sum == num


def main():
    # Reading lower and upper limits from user
    l = int(input("Enter lower limit: "))
    u = int(input("Enter upper limit: "))

    # Checking for Perfect numbers in the given range
    for i in range(l, u + 1):
        if is_perfect(i):
            print(i, end=", ")
    print()


# Entry point of the program
if __name__ == "__main__":
    main()