课后练习
生成器
在Python中使用了yield的函数被称为生成器(generator)
 
使用yield实现阶乘计算
def faclist(n):
    result = 1
    for i in range(2, n + 1):
        yield result
        result *= i
for i in faclist(10):
    print(i, end=' ')

使用yield实现斐波那契数列
import sys
def fibonacci(n):
    a, b, counter = 0, 1, 0
    while True:
        if (counter > n):
            return n
        yield a
        a, b = b, a + b
        counter += 1
print()
f = fibonacci(10)  # f是一个迭代器 由生成器返回生成
while True:
    try:
        print(next(f), end=" ")
    except StopIteration:
        sys.exit()











