python利用yield关键字实现斐波那契数列

本文介绍了一种使用Python生成器实现斐波那契数列的方法,该方法能够有效节省内存空间,通过控制循环的迭代行为,仅在需要时生成下一个数列元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

斐波那契数列(Fibonacci):

F(1) = 1

F(2) = 1

F(3) = 2

......

F(n) = F(n-1) + F(n-2)

python生成器可以控制循环的迭代行为,即控制循环的方式,每次只输出一个值,在很大的程度上节约了大量的空间

代码如下:

# 斐波那契数列
def Fibonacci():
    n, a, b = 0, 0, 1
    number = int(input("请输入你要求的第N项数列:"))
    if number <= 0:
        number = int(input("请重新输入:"))
    while n < number:
	# 只有当程序运行到next()语句时,输出每次的运行结果
        yield b
        # 根据斐波那契数列的规律,进行倒包运算
        a, b = b, a + b
        n = n + 1
# 调用函数,将结果赋值给s
s = Fibonacci()
# 因为实现输出前N项的斐波那契数列值,若利用next(s)方法,则存在N个next(s)语句,显示语句累赘
# 因此采用for循环,遍历s中的数据,每次输出一个N值
for item in s:
    print(item)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值