[New-bugs-announce] [issue35966] Didn't raise "StopIteration" Error when I use "yield" in the function

sheiun report at bugs.python.org
Mon Feb 11 08:27:49 EST 2019


New submission from sheiun <me.sheiun at gmail.com>:

Python 3.6.7 |Anaconda custom (64-bit)| (default, Oct 28 2018, 19:44:12) [MSC v.1915 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> def generate_loop():
...     for i in range(10):
...         print(i)
...         # should raise StopIteration when i > 5
...         k = next(j for j in range(5) if j == i)
...         print(k)
...         yield k
...
>>>
>>> def generate():
...     # should raise StopIteration
...     k = next(j for j in range(5) if j == 6)
...     yield k
...
>>>
>>> print(list(generate_loop()))
0
0
1
1
2
2
3
3
4
4
5
[0, 1, 2, 3, 4]
>>>
>>> print(list(generate()))
[]
>>>
>>> k = next(j for j in range(5) if j == 6)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
StopIteration
>>>

----------
components: Library (Lib)
files: test.py
messages: 335215
nosy: sheiun
priority: normal
severity: normal
status: open
title: Didn't raise "StopIteration" Error when I use "yield" in the function
versions: Python 3.6
Added file: https://bugs.python.org/file48133/test.py

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue35966>
_______________________________________


More information about the New-bugs-announce mailing list