0
点赞
收藏
分享

微信扫一扫

Python高级:生成器函数之yield函数

大师的学徒 2022-04-13 阅读 129
python

课后练习


生成器

在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()

在这里插入图片描述

举报

相关推荐

0 条评论