0
点赞
收藏
分享

微信扫一扫

生成器方式生成斐波那契数列

ZMXQQ233 2022-04-26 阅读 48
python
# '''
# 菲波拉契数列前几项如下:1 1 2 3 5 8 13 21……;本函数实现生成该数列的前n项的生成器(用yield关键字)
# :param n: 自然数n;生成该数列的前n项的生成器, 比如n=5
# :return: 将产生生成器,该生成器依次生成1 1 2 3 5
# '''
def fblq_ls(n):
    if 1==n:
        yield 1
    elif 2==n:
        for i in range(0,2):
            yield 1
    else:
        for i in range(0,2):
            yield 1
        a = 1
        b = 1
        for i in range(3,n+1):
            c = a+b
            a,b = b,c
            yield c
if __name__ =="__main__":
    inner =int(input())
    print(list(fblq_ls(inner)))
举报

相关推荐

0 条评论