python基础----斐波那契数列
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))
python基础----斐波那契数列的更多相关文章
- python实现斐波那契数列(Fibonacci sequence)
使用Python实现斐波那契数列(Fibonacci sequence) 斐波那契数列形如 1,1,2,3,5,8,13,等等.也就是说,下一个值是序列中前两个值之和.写一个函数,给定N,返回第N个斐 ...
- Python中斐波那契数列的四种写法
在这些时候,我可以附和着笑,项目经理是决不责备的.而且项目经理见了孔乙己,也每每这样问他,引人发笑.孔乙己自己知道不能和他们谈天,便只好向新人说话.有一回对我说道,“你学过数据结构吗?”我略略点一点头 ...
- Python中斐波那契数列的赋值逻辑
斐波那契数列 斐波那契数列又称费氏数列,是数学家Leonardoda Fibonacci发现的.指的是0.1.1.2.3.5.8.13.21.34.······这样的数列.即从0和1开始,第n项等于第 ...
- python实现斐波那契数列
https://www.cnblogs.com/wolfshining/p/7662453.html 斐波那契数列即著名的兔子数列:1.1.2.3.5.8.13.21.34.…… 数列特点:该数列从第 ...
- python实现斐波那契数列笔记
斐波那契数列即著名的兔子数列:1.1.2.3.5.8.13.21.34.…… 数列特点:该数列从第三项开始,每个数的值为其前两个数之和,用python实现起来很简单: a=0 b=1 while b ...
- [Python3.X]python 实现斐波那契数列
斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一 ...
- Python——通过斐波那契数列来理解生成器
一.生成器(generator) 先来看看一个简单的菲波那切数列,出第一个和第二个外,任意一个数都是由前两个数相加得到的.如:0,1,1,2,3,5,8,13...... 输入斐波那契数列前N个数: ...
- python计算斐波那契数列
斐波那契数列就是黄金分割数列 第一项加第二项等于第三项,以此类推 第二项加第三项等于第四项 代码如下 这一段代码实现fib(n)函数返回第n项,PrintFN(m,n,i)函数实现输出第i项斐波那契数 ...
- python之斐波那契数列递归推导在性能方面的反思
在各种语言中,谈到递归首当其冲的是斐波那契数列,太典型了,简直就是标杆 一开始本人在学习递归也是如此,因为太符合逻辑了 后台在工作和学习中,不断反思递归真的就好嘛? 首先递归需要从后往前推导,所有数据 ...
随机推荐
- Node.js--fs 文件操作
process 模块 在使用的时候无需通过 require() 函数来加载该模块,可以直接使用. fs 模块,在使用的时候,必须通过 require() 函数来加载该模块,方可使用. 原因:proce ...
- 2018-2-13-Win10-UWP-Intro-to-controls-and-events
title author date CreateTime categories Win10 UWP Intro to controls and events lindexi 2018-2-13 17: ...
- smbumount - 为普通用户卸载smb文件系统
总览 smbumount 装载点 描述 普通用户使用这个程序可以卸载smb文件系统.它在工作时会suid到root身份,并且向普通linux用户提供了对资源更多的控制能力.在suid方面,它拥有足够的 ...
- robotframework的if else
- MySQLdb-python安装
安装很简单,步骤如下: 前期:yum -y install python-setuptools,或者自己网上找源码包安装 1. 下载安装包: #wget https://pypi.python.or ...
- TCC、XA 、DTP区别
原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11623047.html TCC的优缺点 优点 解决了跨服务的业务操作原子性问题,例如组合支付.下订单减 ...
- leetcode-167周赛-1293-网格中的最短路径
题目描述: 自己的提交:广度优先 O(mn*min(k,m+n)) class Solution: def shortestPath(self, grid, k: int) -> int: vi ...
- 进程管理工具uptime,top,htop
进程管理工具uptime,top,htop 一uptime 显示当前时间,系统已启动的时间.当前上线人数,系统平均负载(1.5.10分钟的平均负载,一般不会超过1) 系统平均负载:指在特定时间间隔内运 ...
- php trim()函数 语法
php trim()函数 语法 trim()函数怎么用? php trim()函数用来删除字符串两端的空格或其他预定义字符,语法是trim(string,charlist),返回经过charlist处 ...
- JS谷歌浏览器断点调试
1.找到对应的文件 按F12打开网页调试工具,默认打开的是Elements,显示的是网页标签元素.选择Source,在左侧找到对应的js代码文件(这里是在page标签上找到的) 1.1.如何找到web ...