python实现斐波那契数列的三种方法

 """
斐波那契数列
0,1,1,2,3,5,8,13,21,...
"""
# 方法一:while循环
def fibonaccise(number):
"""
求数字number以内的斐波那契数列
"""
a = 0
b = 1
list_number = [a]
while b < number:
list_number.append(b)
a,b = b,a+b
return list_number print(fibonaccise(1000)) # 方法二:递归函数
def fibo(n):
"""
n为斐波那契数列的第n个数字
"""
if n == 0 or n == 1:
return n
return fibo(n-1) + fibo(n-2)
print(fibo(8)) # 方法三:利用生成器函数
def fibo1():
"""
利用yield建立生成器函数,生成
"""
a,b = 0,1
while True:
yield a
a,b = b,a + b iter = fibo1()
print(next(iter))
print(next(iter))

最新文章

  1. Json map
  2. MVC 分页
  3. 夯实基础之php学习-1基础篇
  4. 导出db2数据库的表结构和数据(转载)
  5. 堆block和栈block的区分
  6. 浏览器对象模型BOM
  7. Android HttpHeader的坑
  8. 4通用Makefile编写
  9. 《c程序设计语言》读书笔记-十六位进制数转十进制
  10. [swustoj 404] 最小代价树
  11. cxf所用的lib
  12. windows快捷键命令汇总整理
  13. Qt编程之通过鼠标滚轮事件缩放QGraphicsView里面的Item
  14. XHTML学习笔记
  15. Java基础学习-基本数据类型变量的定义和使用
  16. IDEA永久激活方法
  17. Web开发——JavaScript基础
  18. HDU 2602 Bone Collectors(背包问题,模版)
  19. SQLite3 C/C++ 开发接口简介
  20. ROS学习手记 - 5 理解ROS中的基本概念_Services and Parameters

热门文章

  1. Vue 踩坑日志 - 有关路由传参的坑
  2. 二、RabbitMQ操作
  3. Helm安装服务端tiller出现的问题
  4. Oracle统计分析
  5. Sass函数:Introspection 函数 -type-of()
  6. Vue-选项卡切换
  7. iview中表单重置无效
  8. python代码整体左移或右移
  9. Ubuntu12.04安装配置vncserver
  10. NOIP 历年试题大致考点总结