Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #75277 > unrolled thread

Re: complete brain fart, it doesn't loop

Started byPeter Otten <__peter__@web.de>
First post2014-07-27 20:07 +0200
Last post2014-07-27 20:07 +0200
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: complete brain fart, it doesn't loop Peter Otten <__peter__@web.de> - 2014-07-27 20:07 +0200

#75277 — Re: complete brain fart, it doesn't loop

FromPeter Otten <__peter__@web.de>
Date2014-07-27 20:07 +0200
SubjectRe: complete brain fart, it doesn't loop
Message-ID<mailman.12362.1406484488.18130.python-list@python.org>
Chris Angelico wrote:

> On Mon, Jul 28, 2014 at 3:53 AM, Martin S <shieldfire@gmail.com> wrote:
>> I have this snippet in my web application. Question is why doesn't the
>> stupid thing loop ten times? It loops exactly 1 time.
>>
>>   # Reset counter
>>     counter = 0
>>
>>     while counter <= 10:
>>
>>         return "<p>Long line with games</p>"
>>
>>         counter=counter+1
> 
> When you hit the 'return', it stops the function immediately :)

By the way, Python has something similar to a function that temporarily 
interrupts execution but preserves state. It's called generator. Compare:

>>> def f():
...     for i in range(3):
...             return "<p>Long line with games</p>"
... 
>>> f()
'<p>Long line with games</p>'
>>> def g():
...     for i in range(3):
...             yield "<p>Long line with games</p>"
... 
>>> g()
<generator object g at 0x7fe9b3e7b690>
>>> list(g())
['<p>Long line with games</p>', '<p>Long line with games</p>', '<p>Long line 
with games</p>']

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web