def fibonacci(): a, b = 0, 1 while True: yield a a, b = b, a + b def firstn(g, n): for i in range(n): yield g.next() def print_fib(n): lst = list(firstn(fibonacci(), n)) for i in lst: print(i) if __name__ == '__main__': print_fib(50)