斐波那契数列大家都很熟悉吧,咱们在高中学数学的时候,老师会讲这个定律以及算法,其实数据结构和数学息息相关,数学思维好的往往逻辑思维就比较好,今天小猿圈带大家学习一下python的斐波那契数列的实现。

程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……

在数学上,费波那契数列是以递归的方法来定义:

F0 = 0 (n=0)

F1 = 1 (n=1)

Fn = F[n-1]+ F[n-2](n=>2)

程序源代码:

方法一:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

# 斐波那契数列

def fib(n):

a, b = 1, 1

for i in range(n-1):

a, b = b, a+b

return a

# 输出了第10个斐波那契数列

print fib(10)

方法二:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

# 斐波那契数列

# 使用递归

def fib(n):

if n == 1 or n == 2:

return 1

return fib(n - 1) + fib(n - 2)

# 输出了第10个斐波那契数列

print fib(10)

以上实例输出了第10个斐波那契数列,结果为:

55

方法三:

如果你需要输出指定个数的斐波那契数列,可以使用以下代码:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

# 斐波那契数列

def fib(n):

if n == 1:

return [1]

if n == 2:

return [1, 1]

fibs = [1, 1]

for i in range(2, n):

fibs.append(fibs[-1] + fibs[-2])

return fibs

# 输出前10个斐波那契数列

print fib(10)

以上程序运行输出结果为:

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

大家对斐波那契数列python的实现学会了吧,也是很简单的,代码也是优雅的吧,斐波那契数列用到的地方还蛮多的,大家平时可以多看一下类似于这种算法的结构,让自己的脑子灵光的转起来,只要这样才能有很好的idea,可以去小猿圈了解更多的算法,大家加油!

python输出斐波那契数列_Python实现斐波那契数列相关推荐

  1. python显示1000以内的斐波拉契数列_python实现斐波那契数列

    首先想到的是用递归来解决 求100内的斐波那契数列: def diGui(num=100): a,b = 0,1 # 为了方便看打印,我就用list存一下 lit = [] while a < ...

  2. python斐波那契递归_Python递归斐波那契示例

    python斐波那契递归 Good day, learners! In this tutorial we are going to learn about Python Recursion and u ...

  3. python输出结果每5个换行_python for循环 - python基础入门(11)

    文章首发微信公众号,微信搜索:猿说python 在python开发中,除了前篇文章介绍的while循环还有一个for循环也经常使用,两者使用都是大同小异,for循环的使用相对于while循环更加灵活, ...

  4. python输出字符串的后两位_Python字符串三种格式化输出

    字符串格式化输出是python非常重要的基础语法,今天就把三种格式化输出做一个简单的总结,希望对大家有帮助. 格式化输出:内容按照一定格式要求进行输出. 1.使用占位符%输出 python2.6版本之 ...

  5. python输出用逗号隔开的数字_Python:从字符串中提取带有点和逗号的数字

    我正在分析Python中的单词和数字.我只对数字感兴趣,即只对0到9.点(.)和逗号(,)感兴趣.我对保留点和逗号很感兴趣,因为有些文件是用美式数字(即3.14159)编写的,而有些文件是用欧洲(德语 ...

  6. python输出用逗号隔开的数字_python,得出一些数字后,怎样不输出最后一个逗号...

    主程序1: a=[3,4,5,6] b=[] for i in a: b.append(str(i)) c=','.join(b) print(c) 主程序2: list1=[3,4,5,6] pri ...

  7. python输出两个并列的值_python并排输出

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 假设我有两个python pandas数据框: studentroster ja ...

  8. python输出100到200的素数_python输出2到100之间的素数

    目的: 计算2-100之间素数的个数,返回结果 什么是素数? 素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数. 代码实现:# 定义一个列表接受返回的质数 list_num = [ ...

  9. python输出由1234组成的素数_python,编写程序,输出所有由1,2,3,4这四个数字组成的素数,并且在每个素数中每个数字只能使用一次...

    展开全部 def num_list(): list=[1,2,3,4] list1=[] for i in list: for j in list: if i==j: continue for k i ...

  10. python输出被五整除的数_python中给定一系列正整数能被5整除的数字中所有偶数的和?...

    展开全部 1.示例代码 x = input('请输入一系列整数,用32313133353236313431303231363533e59b9ee7ad9431333433653937逗号间隔:') y ...

最新文章

  1. keyshot怎么批量渲染_提高Keyshot逼真渲染的小技巧
  2. CS5中动作和批处理
  3. python.freelycode.com-优化Pandas代码执行速度入门指南
  4. 编程名言(有些趣味性)
  5. 为什么下拉框拉不下来_零线不带电,为什么还要拉一条?直接用地做零线不是更省钱?...
  6. .NET Core 3.0之创建基于Consul的Configuration扩展组件
  7. Spring IoC?看这篇文章就够了...
  8. 13个你必须知道的JS数组技巧
  9. python数据库操作批量sql执行_Python批量修改数据库执行Sql文件
  10. stata15中文乱码_Stata转excel中文乱码解决方法
  11. Android 持续集成基础教程
  12. MAC版WORD使用EndNote之后每次打开都显示域代码解决方法
  13. matlab内置vmd吗,matlab中使用VMD(变分模态分解)
  14. MySQl排序,别名
  15. 聚焦:XuperOS成长计划FAQ
  16. 前端面试必读,助力秋招!
  17. android 11 移除桌面搜索栏
  18. 个人理解ToB和ToC业务的不同点
  19. 基于全志D1-H和XR806的名贵植物监控装置
  20. 常用的功能测试点有哪些?

热门文章

  1. 局域网内两台电脑ping不通
  2. 电动葫芦断火限位器安装接线电路图
  3. liveness探测mysql,详解k8s中的liveness和readiness的原理和区别
  4. (Modern Family S01E03) Part4  PhilClaire  Gloria和Luke到Claire家玩 Claire和Luke谈心
  5. win7适合oracle哪个版本下载,win7系统下载--Windows 7下成功安装ORACLE客户端
  6. linux 蓝牙hci,实战Linux Bluetooth编程(三) HCI层编程
  7. virtuoso根据原理图绘制版图并联接_virtuoso画原理图
  8. 文学写作素材网站分享
  9. 图示-实现hive的文件与hdfs的导入导出
  10. 总结js中关于路径的写法