python实现斐波那契数列详解(黄金分割)

本文介绍了如何使用Python编写函数来生成斐波那契数列的前n项。通过定义一个函数,设置初始值和while循环,当i小于n时,根据斐波那契数列的规则(每一项是前两项之和)计算并添加到列表中。最后,通过调用函数并打印结果,展示了从第一项到第十项的斐波那契数列。
摘要由CSDN通过智能技术生成

今天给各位分享一个常见的题目:求斐波那契数列前n项分别是什么(也称为黄金分割数列),整个数列需满足一个条件即第三项的值等于前两项相加的和,如第一项是1、第二项是1、第三项是2、第四项是 3、第五项是5...

满足公式:f(n+2)=f(n+1)+f(n)


拿到这个题目很多人不知道思路,接下来我会带领各位一步一步地梳理分析。

首先,我们需要定义一个函数,函数里面至少要有一个变量n来作为传值的对象,即我要求前n项的内容,所以必须要有一个n在函数中作为形式参数。

def fibo(n):
    pass

函数构件好了之后则需要考虑初始值的问题,我们定义一个初始值的默认值为0作为记录循环轮数的变量,且会不断增长,所以还需要一个空的列表(list)来容纳接下来程序生成的数字序列。

def fibo(n):
    i = 0
    fibo_list = []

由于是循环递增的,所以必不可少的就是while循环了,从而实现循环增长,我们定义一个while循环,根据题目要求(第一项和第二项为1),需要设置2个判断:

判断1:当i=0 或 i=1的时候,列表中的前两位都是1

判断2:当i大于等于2的时候,第三项的值等于第一项与第二项的和,并添加到列表

def fibo(n):
    i = 0
    fibo_list = []
    while i < n:
        if i == 0 or i == 1:
            fibo_list.append(1)
        if i >= 2:
            third_num = fibo_list[-1] + fibo_list[-2]
            fibo_list.append(third_num)

写到这里,大致框架已经构建好了,只需让循环动起来并输出,调用函数时给n赋值即可,使用i += 1即可实现(i+=1等价于i = i+1)

def fibo(n):
    i = 0
    fibo_list = []
    while i < n:
        if i == 0 or i == 1:
            fibo_list.append(1)
        if i >= 2:
            third_num = fibo_list[-1] + fibo_list[-2]
            fibo_list.append(third_num)
        i += 1
    print(fibo_list)

fibo(10)

以上代码运行后就可以实现从第一项输出到第十项

结果如下:

[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

欢迎关注,带你探秘全栈的程序世界 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Liu_GuoXing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值