73.7k views
5 votes
Write a short program using Python that will:

Prompt the user for a number

Print out whether the number is a perfect number

Prompt the user for another number if the number is not perfect

User Elbek
by
6.2k points

1 Answer

1 vote

Answer:

// program in Python to check perfect number

#function to find number is perfect or not

def is_Perfect_Number(n):

#total variable

tot = 1

i = 2

#sum of all divisor of number

while i*i<=n:

if n%i==0:

tot = tot + i + n/i

if tot == n and n != 1:

return 1

i = i+1

return 0

#read until user enter a perfect number

while True:

#read integer

num = int(input("Input an integer: "))

#call the function

if(is_Perfect_Number(num)):

print(num,"is perfect number")

#if perfect number break

break

else:

print(num,"is not a perfect number")

#ask again

print("try again.")

Step-by-step explanation:

Read number from user and then call the function is_Perfect_Number() with parameter "num".This will find the sum of all divisor of number.If sum is equal to number then it will return 1 else return 0.If the number is not perfect then it will again ask to enter a number until user enter a perfect number.

Output:

Input an integer: 24

24 is not a perfect number

try again.

Input an integer: 28

28 is perfect number

User Dkulkarni
by
6.1k points