PEP 342 misunderstanding

metamoof at gmail.com metamoof at gmail.com
Sun Oct 8 15:33:02 EDT 2006


So I've been reading up on all the new stuff in PEP 342, and trying to
understand its potential. So I'm starting with a few simple examples to
see if they work as expected, and find they dont.

I'm basically trying to do the following:

for x in range(10):
    print x*2

but coroutine-style.

My initial try was:

>>> def printrange():
...     for x in range(10):
...         x = yield x
...         print x
...
>>> g = printrange()
>>> for x in g:
...     g.send(x*2)
...
0
1
None
4
3
None
8
5
None
12
7
None
16
9
None
>>>

Now, I was expecting that to be 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20.

What am I missing here?

Moof




More information about the Python-list mailing list