I'm curious why people consider DiP to be a bad book? I personally can't defend it since I haven't read it
def fibonacci(max):
a, b = 0, 1
while a < max:
yield a
a, b = b, a+b
To run the function do: >>> for n in fibonacci(1000):
... print n,
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
[1] http://diveintopython.org/dynamic_functions/stage6.html