Please Help Explain

Lucik lucik at
Thu Nov 6 10:20:51 CET 2003

    while you_wish_to_eat
        # eat couple of hotdogs
        n = n+2
    return n # total number of hotdogs

You can not return to the same state in the loop.
Natural and without depth.

"Jakle" <jakle1 at> wrote in message news:<lIjqb.2510$gn1.317177 at>...
> I was at a job interview one day and the owner of the start up company asked
> me if I'd rather make $1000 dollars a day, or start off with a penny a day
> and double the amount every day for 30 days. I was too lazy to sit down with
> paper and pen to figure out how much the second choice came out to. But now
> I'm learning python and just learned about recursive functions and
> iteration, I figured I'd use those theories to figure out the problem. After
> racking my brain trying to figure it out (I'm a noob to this stuff, and math
> isn't my strong point),  I came up with this formula: n = n*2. So I messed
> around with it and came up with the following code:
> +++++++++++++++++++++++++++++++++++++++
> #    11-05-03
> days = raw_input("How many days: ")
> def calc(n, days):
>     i = 1
>     while i <= days:
>         n = n*2
>         i = i+1
>     return n/float(100)
> print calc(1, int(days))
> +++++++++++++++++++++++++++++++++++++++
> I completely stumbled across it and it works. I just don't understand how
> the value of n is assigned to the second n in "n=n*2" once it loops back
> again. I would understand if it was a recursive function and passed as an
> argument, but I don't think I completely understand how the "while"
> statement handles variable values. I am learning from "How to Think Like a
> Computer Scientist: Learning With Python", and it doesn't go into too much
> depth about it, at the moment at least. I was wondering if anyone could shed
> some light on my dilema. :-)
> Thanks ahead of time.

More information about the Python-list mailing list