loops

Aaron Brady castironpi at gmail.com
Sat Oct 18 07:27:16 EDT 2008


Gandalf wrote:

> On Oct 18, 12:39 pm, Duncan Booth <duncan.bo... at invalid.invalid>
> wrote:
>> Gandalf <goldn... at gmail.com> wrote:
>> > how can I do width python a normal for loop width tree conditions like
>> > for example :
>>
>> > for x=1;x<=100;x+x:
>> >     print x
>>
>> What you wrote would appear to be an infinite loop so I'll assume you meant
>> to assign something to x each time round the loop as well. The simple
>> Python translation of what I think you meant would be:
>>
>> x = 1
>> while x <= 100:
>>    print x
>>    x += x
>>
>> If you really insist on doing it with a for loop:
>>
>> def doubling(start, limit):
>>     x = start
>>     while x <= limit:
>>         yield x
>>         x += x
>>
>> ...
>>
>> for x in doubling(1, 100):
>>     print x
>
> I was hopping to describe it with only one command. most of the
> languages I know use this.
> It seems weird to me their is no such thing in python. it's not that I
> can't fined a solution it's all about saving code

Do you anticipate reusing it?  You could make something a little more
extendable.

for x in iexpression( 'x', 1, 100, 'x+x' ):
    print x

or

for x in iexpression( lambda x: x+x, 1, 100  ):
    print x

I'm assuming you don't want or have a closed form, in this case x= 2**
_x.




More information about the Python-list mailing list