08 python斐波那契数列

# -*- coding: utf-8 -*-
# @Time : 2025/4/4 16:05
# @Author : write1994
# @File : lear_Fibonacci_sequence.py
# @Desc : 斐波那契数列

'''
已知一个数列:1、1、2、3、5、8、13、。。。。的规律为从 3 开始的每一项都
等于其前两项的和,这是斐波那契数列。求满足规律的 100 以内的所以数据
'''

a = 0
b = 1
while b < 100:
    print(b, end=",")
    a, b = b, a + b


# 方法一:使用递归函数
def fibonacci_recursive(n):
    if n <= 1:
        return n
    else:
        return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2)


# 打印前 10 个斐波那契数
for i in range(10):
    print(fibonacci_recursive(i))


# 方法二:使用循环
def fibonacci_loop(n):
    if n <= 1:
        return n
    a, b = 0, 1
    for _ in range(2, n + 1):
        a, b = b, a + b
    return b


# 打印前 10 个斐波那契数
for i in range(10):
    print(fibonacci_loop(i))


def fibonacci_generator():
    a, b = 0, 1
    while True:
        yield a
        a, b = b, a + b


# 方法三:使用生成器
# 打印前 10 个斐波那契数
fib = fibonacci_generator()
for _ in range(10):
    print(next(fib))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值