# fibonacci.second.py def fibonacci(N): """Return all fibonacci numbers up to N. """ yield 0 if N == 0: return a = 0 b = 1 while b <= N: yield b a, b = b, a + b print(list(fibonacci(0))) # [0] print(list(fibonacci(1))) # [0, 1, 1] print(list(fibonacci(50))) # [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]