Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #75277 > unrolled thread
| Started by | Peter Otten <__peter__@web.de> |
|---|---|
| First post | 2014-07-27 20:07 +0200 |
| Last post | 2014-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.
Re: complete brain fart, it doesn't loop Peter Otten <__peter__@web.de> - 2014-07-27 20:07 +0200
| From | Peter Otten <__peter__@web.de> |
|---|---|
| Date | 2014-07-27 20:07 +0200 |
| Subject | Re: 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>']
Back to top | Article view | comp.lang.python
csiph-web