#randomly generate N and print all perfect numbers between 1 and N #lets make a range for N user input #user will enter the upper bound for value of N import random max=int(input("enter upper bound for random value N ")) N=random.randint(1,max) print("all perfect numbers between 1 and",N,"are") count_perfect=0 for num in range(1, N+1): sum_div=0 for i in range(1,num): if(num%i==0): sum_div=sum_div+i if(sum_div==num): print(num) count_perfect=count_perfect+1 if(count_perfect==0): print("no perfect numbers found")