用python函数写斐波那契数列


本文摘自php中文网,作者hzc,侵删。

斐波那契数列,又称黄金分割数列、因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以递归的方法定义。

对于学习编程语言的小伙伴们来说,斐波那契数列将是一个最经典的函数之一,今天用Python来给大家讲讲这个经典的函数怎么简单粗暴的实现。

实现之前呢,先给大家介绍一下斐波那契数列的原理,原题是一个兔子繁殖问题,简单的讲就是后一项等于前两项之和,即f(x)=f(x-1)+f(x-2),第一项可为0,亦可为1。

下面介绍两种常用的方式,或许没别人写的那么简洁,请见谅哈!

第一种:非递归方式,用的是索引和while循环相结合

# 从零开始,输出前n项斐波那契数列
# 定义斐波那契函数
def fibo(x):
#初始化前两项
m=0
n=1
# 用list存储
l=[0,1]
# 设定初始项
i=2
# 用while循环进行运算,原理:后一项等于前两项之和
while i<x:
# m+n赋值给n
n=m+n
# 将n添加至list
l.append(n)
# 通过索引将list的前一项赋值给m
m =l[i-1]
#通过自加来达到退出循环的条件
i=i+1
#打印出list
print(l)
# 调用函数
fibo(10)

第二种:递归方式实现,这种就是经典模型了

# 从零开始,输出第n项斐波那契数列

1

2

3

4

5

6

7

8

9

def fibo(x):

if x==1:

return 0

elif x==2:

return 1

elif x>2:

return fibo(x-1)+fibo(x-2)

else:

print("输入错误,请重新输入!")

推荐教程: 《Python教程》

以上就是用python函数写斐波那契数列的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

win10如何配置Python环境变量

学会了Python语言能做什么

什么叫Python字符串的格式化

Python爬虫入门心得分享

Python有哪些需要学习的知识?

Python怎么逐行读写txt文件

Python web为什么不火

hash()是Python内置的吗

Python的append是什么意思

怎么安装Python

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...