python3实现斐波那契数列--4种方法
- 基础版(list方法)
# 比较占内存
w = int(input("输入一个数字还你一个斐波那契数列:"))
list_res = []
def list_n(n):if n>=3:res=list_n(n-1)+list_n(n-2)else:res=1return resprint("开始")for i in range(0,w):list_res.append(list_n(i+1))
print(list_res)
- 升级版
# 比较占内存
num =int(input("输入一个数字还你一个斐波那契数列v2.0:"))
list_nums=[1,1]
def calculate(num,list_nums):i = 0if num>2:while i < num:list_nums.insert(i+2,list_nums[i]+list_nums[i+1])i+=1else:print("数列已生成")print(list_nums)return list_nums[num-1]else:return list_nums[0]res = calculate(num,list_nums)
print("="*50)
print("第%s个:%s"%(num,res))
- 最实用版(解包的方式)
#省内存
def fbnq(n):a,b=1,1if n==1 or n ==2:return 1else:i=3while i<=n:a,b=b,a+bi+=1return bprint(fbnq(int(input("输入一个数:"))))
- 迭代器版
"""实现斐波那契数列"""class feibo(object):def __init__(self, length):self.num1 = 0self.num2 = 1self.num = self.num1self.length = lengthself.index = 0def __iter__(self):return selfdef __next__(self):self.num = self.num1while True:if self.index == self.length:raise StopIterationself.num1, self.num2 = self.num2, self.num1+self.num2self.index += 1return self.nummyfbnq = feibo(10)
# print(list(myfbnq)) # 指针位置已到最后一位
for i in myfbnq:print(i)
python3实现斐波那契数列--4种方法相关推荐
- 斐波那契数列三种方法计算,光棍节快乐
//斐波那契数列三种方法计算 //Fibnacci(0)=0 //Fibnacci(1)=1 //Fibnacci(n)=Fibnacci(n-1)+Fibnacci(n-2) [n>1] / ...
- Python3实现斐波那契数列.md
Python3实现斐波那契数列 一.Python3迭代方法实现斐波那契数列 二.Python3递归方法实现斐波那契数列 三.总结规律 斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, ...
- 实现斐波拉契的三种方法
实现斐波拉契的三种方法: 方法一:递归方法 def fib_1(index):if index <= 2:return 1else:return fib_1(index-1) + fib_1(i ...
- 斐波那契数列两种算法实现(循环,递归)
首先是最简单的递归算法,相信很多初学者第一次接触递归这种算法都是从写一个斐波那契数列开始的. 这里除了递归算法之外我还会介绍循环算法 首先是最基础的递归算法 #include <stdio.h& ...
- 斐波那契数列三种实现+矩阵乘法+矩阵cimi
package com.lyk.kk;/** * Created by Administrator on 2017/9/4. */ public class A1 {//矩阵乘法 public int ...
- C++实现斐波那契的三种方法
题目描述 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N)).斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + ...
- python学习-综合练习三(斐波那契数列、阿姆斯特朗数、//和/、十进制转二进制bin、八进制oct、十六进制hex、进制转换源码、python中::和:的区别)
文章目录 斐波那契数列 阿姆斯特朗数 十进制转二进制bin.八进制oct.十六进制hex 补充进制转换源码 python中::和:的区别 说明:本篇博文的知识点大部分来自 Python3 实例 斐波那 ...
- 经典兔子问题python视频_【Python】【demo实验14】【练习实例】【斐波那契数列】【经典兔子生小兔子问题】...
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 每个月的兔子数量 1:2 2:2 3:4 2+2 4:6 ...
- python菜鸟教程 | 斐波那契数列
今天跟大家一起学习一个经典数列:黄金分割数列.意大利数学家斐波那契(Fibonacci)十二世纪就发现了它,后人用他的名字命名这个数列,即:1, 1, 2, 3, 5, 8, 13, 21,-,这个数 ...
最新文章
- 小实验:用创建进程()打开计算器,然后关闭进程句柄。再用打开进程(进程ID),使用两次,得到两个进程句柄。实验目的:这两个进程句柄都能控制这个进程吗?通过该试验加深对句柄的理解!!...
- Marketing learning-2
- C#开发ActiveX网页截图控件
- 基于注解的Spring AOP的配置和使用--转载
- python系统关键字_python基础之常用关键字总结
- JavaFX图表(七)之散点图
- 第十四章:监测和维护活动目录(四)
- linux下移动或者复制文件覆盖相同文件夹时,文件夹里面的每个文件都提示是否覆盖...
- html基础知识补全
- 编译并运行Java文件
- unity3D 移动开发代码优化
- 批处理For--分割字符串
- Java Duration格式
- global(全局变量)
- OS X Mountain Lion 系统配置 Apache+Mysql+PHP 详细教程
- 辐射剂量监测仪(一)
- 临床研究统计分析的要求和报告规范
- 求助:电压跟随器的输入电压问题
- 2022-2028年中国羽绒睡袋行业市场需求预测及投资前景评估报告
- 国外.net开源程序