Simplify Python

Joaquin Abian gatoygata2 at gmail.com
Tue Apr 6 16:56:26 EDT 2010


On Apr 6, 9:04 pm, ja1lbr3ak <superheroco... at gmail.com> wrote:
> I'm trying to teach myself Python, and so have been simplifying a
> calculator program that I wrote. The original was 77 lines for the
> same functionality. Problem is, I've hit a wall. Can anyone help?
>
> loop = input("Enter 1 for the calculator, 2 for the Fibonacci
> sequence, or something else to quit: ")
> while loop < 3 and loop > 0:
>     if loop == 1:
>         print input("\nPut in an equation: ")
>     if loop == 2:
>         a, b, n = 1, 1, (input("\nWhat Fibonacci number do you want to
> go to? "))
>         while n > 0:
>             print a
>             a, b, n = b, a+b, n-1
>     loop = input("\nEnter 1 for the calculator, 2 for the Fibonacci
> sequence, or something else to quit: ")

You could structure it a bit better but something to start with could
be(it works):

def calc(n):
    print n

def fibo(n):
    a=b=1
    while n > 0:
        print a
        a, b, n = b, a+b, n-1


NOTE = """Enter 1 for the calculator, 2 for the Fibonacci
sequence, or something else to quit: """

while True:

    loop = raw_input(NOTE)

    if loop == '1':
        forcalc = raw_input("\nPut in an equation: ")
        calc(forcalc)
    elif loop == '2':
        forfibo = raw_input("\nWhat Fibonacci number do you want to go
to? ")
        n = int(forfibo)
        fibo(n)
    else:
        break


Cheers
Joaquin



More information about the Python-list mailing list