## DEV Community

Durga Pokharel

Posted on • Updated on

# Day 12 of 100DaysOfCode: Python Program to make Non Perfect Number Perfect

This is my 12th day of #100daysodcode. Today I worked more about CSS properties on freecodecamp. Did some assignments. And tried to write python program to make non perfect number perfect. Below is mine code of the day.

# Program to make Non Perfect Number Perfect

In this code at first users give integer type number. After that I define the root if square of root is given number then our given number is already perfect. If there is no this possibility we go further. Initialize before after and curr-number as given. We have no idea how long our loop going so I took while loop.

I defined croot below. If given number less than current number at that case we take before number is equals to current number. If given number greater than current number at that time our after number is equal to current number.

``````n = int(input("enter an integer"))
root = int(n**0.5)

if root**2 == n:
else:

# find the perfect numer before and after the  number.
before = 0
after = 1
curr_num = 1

while True:

croot = int(curr_num**0.5)

if croot**2 == curr_num:
if curr_num < n:
before = curr_num
else:
after = curr_num
#print(curr_num,before,after)

if after != 1:
if n-before < after-n:
print(f'perfect numbers around {n} are {before} and {after}.')
print(f'your nearest perfect number of {n} is {before}')
print(f'we have to subtract {n-before} to make {n} perfect number.')
break
else:
print(f'perfect numbers around {n} are {before} and {after}.')
print(f'your nearest perfect number of {n} is {after}')
print(f'we have to add {after-n} to make {n} perfect number.')
break
curr_num += 1

``````

12 Day of #100daysofcode and python
* Tried to write python program to make non perfect number perfect.#100daysofcode, #codenewbie, #beginner ,#Python pic.twitter.com/9ButCsWhZ7

— Durga Pokharel (@mathdurga) January 5, 2021