斐波那契数列(python)

简介

斐波那契数列代码用递归函数实现,复杂程度简单,是面试时经常遇到的笔试题,考察点递归函数在实际项目中也普遍用到,需要我们熟练掌握。

思路梳理
  • 明确斐波那契数列含义
    数列:1,1,2,3,5,8,13,21,34,…
    被递推方法定义:
    F(0)=1,F(1)=1,F(n)=F(n-1)+F(n-2)(n=>2)
  • 主要考察内容
    递归函数和列表及其特性,以及for循环和rang()
  • 实现思路
    1、 整体需要用到递归函数实现。
    已知n=0或1时,F(n)=1,若n=2时 F(n)=F(n-1)+F(2),由此输入n不管是什么数字,都需要从F(0)=1和F(1)=1开始计算推导出n对应的值;
    2、 先遍历初始列表都为为0,下标从0开始,则第二个值应为下标为0和1的值相加,所以需要对其赋固定值
    3、使用range()内置函数结合for循环。定义变量为2,3,4……n,计算前两个数值相加之和,并将最终值进行返回(range()学习教程python2与python3略有区别,需注意)。
代码实现

下面展示一些 代码实现

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Software : PyCharm
# @File : Exercise_1.py
# @Desc : 斐波那契数列

"""
说明:以兔子繁殖为例而引入的,又称”兔子数列“
是指数列:1,1,2,3,5,8,13,21,34,......在数学上,数学家斐波那契以如下被递推方法定义:
F(0)=1,F(1)=1,F(n)=F(n-1)+F(n-2)(n=>2)
"""

def f(n):
    lis = [0 for i in range(n+1)] 
    lis[0] = 0
    lis[1] = 1
    for j in range(2,(n+1)):
        lis[j] = lis[j-1] + lis[j-2]
    return lis[n]


num_input=int(input("按下 enter 键退出,其他任意键显示...\n"))
num = f(num_input)  //递归函数实现
print("{0}的斐波那契数列得出的结果是:{1}".format(num_input,f(num_input)))

运行结果截图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值