DEV Community

Durga Pokharel
Durga Pokharel

Posted on • Edited on

2

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:
    print(f'your number {n} is already perfect.')
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

Enter fullscreen mode Exit fullscreen mode

12 Day of #100daysofcode and python
* More about CSS properties
* 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

Speedy emails, satisfied customers

Postmark Image

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (2)

Collapse
 
kingsleyijomah profile image
Kingsley Ijomah

well done! good work :)

Collapse
 
iamdurga profile image
Durga Pokharel

Thank you

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay