Answer to Question #156332 in Python for usman

Question #156332

An integer number is said to be a perfect number if the sum of its factors, including 1 (but not the number itself), is equal to the number. For example, 6 is a perfect number, because 6 = 1

+ 2 + 3. Write a function perfect that determines whether parameter number is a perfect number. Use this function in a program that determines and prints all the perfect numbers between 1 and 1000. Print the factors of each perfect number to confirm that the number is indeed perfect.



1
Expert's answer
2021-01-17T13:46:03-0500
def perfect(num):
    """ Function to check if parameter number is perfect.
    If so, return the list of factors."""

    factors = []
    for i in range(1, num):
        # Check if i is a factor of num
        if num % i == 0:
            factors.append(i)

    if sum(factors) != num:
        return False
    return factors


for num in range(1, 1000):
    if perfect(num):
        factors = perfect(num)
        print(num, '=', end=' ')
        print(*factors, sep=' + ')

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS