用python实现斐波那契数列的5种简单方法

本文分享了使用Python实现斐波那契数列的五种方法,包括利用for循环、while循环及递归等不同方式,并对每种方法进行了详细说明。

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

今天去面试,笔试题中又有出现斐波那契数列这道题,想到经常在面试中遇到这个问题,于是用python写了几个简答的方法,供初学python的小伙伴们参考。

方法一:用for循环逐个打印出数列的值

def fibonacci1(n):
    a,b = 0,1
    for i in range(n):
        a,b =b,a+b
        print a
方法二:用while循环逐个打印出数列的值
def fibonacci2(n):
    a =0
    b = 1
    i =0
    while i <n:
        print b
        a,b = b,a+b
        i = i+1

方法三:用递归的方法,加上for循环,把每次循环产生的新项增加到数列最后,最后一次性输出list

def fibonacci3(n):
    lis =[]
    for i in range(n):
        if i ==1 or i ==0:
            lis.append(1)
        else:
            lis.append(lis[i-2]+lis[i-1])
    print lis

方法四:用递归的方法,加上while循环,把每次循环产生的新项增加到数列最后,最后一次性输出list

def fibonacci4(n):
    # type: (object) -> object
    lis=[]
    i=0
    while i<n:
        if i==0 or i ==1:
            lis.append(1)
        else:
            lis.append((lis[i-2]+lis[i-1]))
        i = i + 1
    print lis

方法五:先用递归的方法,定义一个返回第n项值的函数fn,再加上for循环,以此返回全部n项的值。

def fibonacci5(n):
    def fn(i):
        if i <2:
            return 1
        else:
            return (fn(i-2)+fn(i-1))
    for i in range(n):
        print fn(i)

实际上方法1和方法2是相同的,方法3和方法4是相同的,只是分别用了for循环和while循环。

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值