Home › Problems › StopIteration: next() past the end
StopIteration: next() past the end
🐛 Fix the bug Topic: generators Difficulty: hard Premium
What this problem practises
Generators produce values lazily and can be consumed exactly once. That makes them memory-friendly for big sequences, and genuinely confusing the first time one is iterated again and yields nothing.
This is a fix-the-bug problem: a short program is given in its broken state, and the task is to repair the code so it produces the required output. The interactive editor runs your fixed version in the browser and checks it for you — no setup, no local interpreter.
Difficulty: hard — the naive reading is wrong, and the answer depends on tracking state precisely through the snippet.
The challenge
This is a premium problem. Premium unlocks the complete catalog and an ad-free editor; every hint on every problem is free for all learners.
Keep going
- Python debugging guide — a systematic method for finding bugs like this one fast.
- Browse every generators problem in this topic.
- Common Python errors and what they actually mean, plus the Python glossary for any term used on this page.