生成器完成fibonacci数列

def fibonacci(num):
    # 记录数列的前两个值
    a = 0
    b = 1
    current_index = 0
    print("--1111---")
    while current_index < num:
        # 生成下一个数列的值
        result = a
        a, b = b, a + b
        current_index += 1
        print("--222---")
        # 启动生成器的时候遇到yield代码会暂停,下次启动生成器会在暂停的位置继续往下执行
        yield result
        print("--3333---")

# 创建生成器
f = fibonacci(5)
# 获取生成器中的下一个值
value = next(f)
print(value)

猜你喜欢

转载自blog.csdn.net/s201314yh/article/details/80012565