Python学习笔记_斐波那契数列
"""
1、生成100项斐波那契数列
2、求第n项斐波那契数列的值是多少
3、给定终止值,生成此前斐波那契数列
""" # 求第n项斐波那契数列的值是多少
def Fibonacci(n): if n == 1: # 如果n=1,返回0
return 0
elif n == 2: # 如果n=2,返回1
return 1
else:
return Fibonacci(n-1) + Fibonacci(n-2) # 通项公式 F(N) = F(N-1) + F(N-2) # 生成前n项斐波那契数列
def Fibonaccii(n):
seq = [0,1] # 初始化列表
if n == 1: # n=1,返回[0]
return [0]
elif n == 2: # n=2,返回[0,1]
return [0,1]
else:
for i in range(n-2): # n>2,循环添加数列到初始列表中
seq.append(seq[i]+seq[i+1])
return seq # 给定终止值,生成此前斐波那契数列
def Fibonacciii(n): seq = [0,1] # 初始化列表
i = 0 # 初始i if n == 0: # 如果n=0,返回列表[0]
return [0]
else:
if n <= 3: # 如果0<n<3
for i in range(n): # 循环往初始列表中添加斐波那契数列
seq.append(seq[i]+seq[i+1])
return seq
else: # 如果n > 3
while True: # 理论上当n 不确定时,需要添加的项数也是不确定的,故死循环
if seq[-1] <= n: # 一直添加,如果添加的最后一项不大于给定值
seq.append(seq[i]+seq[i+1])
i += 1 # 每次循环i 递增
continue # 继续循环,不执行以下代码
break # 当最后一项大于给定值时,跳出死循环
return seq[0:-1] # 最后返回去掉最后一个数值的斐波那契数列 # 求第n项斐波那契数列的值是多少(快速版)
def Fibonaccii(n):
seq = [0,1] # 初始列表怕[0,1]
if n == 1: # 如果n=1,返回[0]
return [0]
elif n == 2: # 如果n=2,返回[0,1]
return [0,1]
else:
for i in range(n-2): # 循环往列表中添加数列,初始已有两项故添加项数为n-2
seq.append(seq[i]+seq[i+1]) # 添加的数列值等于前两项的和
return seq[-1] # 取最后一项的值 # 求第n项斐波那契数列的值是多少(终极版)
def Fibonaccii(n):
a,b = 1,1
if n == 1 or n == 2:
return 1
for i in range(n-2):
s = a + b
a,b = b,s
return s # 老男孩版本
def Fibonacciiii(arg1,arg2,stop):
if arg1 == 0:
print(arg1)
print(arg2)
arg3 = arg1 + arg2
print(arg3)
if arg3 < stop:
Fibonacciiii(arg2,arg3,stop) Fibonacciiii(0,1,1000)
Python学习笔记_斐波那契数列的更多相关文章
- python学习笔记之斐波拉契数列学习
著名的斐波拉契数列(Fibonacci),除第一个和第二个数外,任意一个数都可由前两个数相加得到: 1, 1, 2, 3, 5, 8, 13, 21, 34, ... 如果用Python的列表生成式, ...
- Python基础(二):斐波那契数列、模拟cp操作、生成8位随机密码
一.斐波那契数列 目标: 编写fib.py脚本,主要要求如下: 输出具有10个数字的斐波那契数列 使用for循环和range函数完成 改进程序,要求用户输入一个数字,可以生成用户需要长度的斐波那契数列 ...
- Python算法_斐波那契数列(10)
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项.斐波那契数列的定义如下: F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 ...
- python基础练习题(斐波那契数列)
day4 --------------------------------------------------------------- 实例006:斐波那契数列 题目 斐波那契数列. 题目没说清楚, ...
- python的生成器(斐波拉契数列(Fibonacci))
代码: 函数版本: #斐波拉契数列(Fibonacci) def fib(max): n=0 a,b=0,1 while n < max: a,b = b,a+b n = n+1 return ...
- python脚本10_打印斐波那契数列的第101项
#打印斐波那契数列的第101项 a = 1 b = 1 for count in range(99): a,b = b,a+b else: print(b) 方法2: #打印斐波那契数列的第101项 ...
- python脚本9_打印斐波那契数列
#打印斐波那契数列 f0 = 0 f1 = 1 for n in range(2,101): fn = f1 + f0 if fn <= 100: print(fn) f0 = f1 f1 = ...
- Python3 编程第一步_斐波纳契数列_连续赋值
# Fibonacci series: 斐波纳契数列 # 两个元素的总和确定了下一个数 a, b = 0, 1 while b < 10: print(b) a, b = b, a+b # 1 ...
- python 递归\for循环_斐波那契数列
# 递归 def myAdd(a, b): c = a + b print(c) if c > 100: return return myAdd(a + 1, c) #最大递归深度是1000 m ...
随机推荐
- hbase远程api调用, 远程连接开发,环境构建相关问题总结
平时在开发的过程中,都是将hbase的环境装在虚拟机或者双系统上的,开发是直接在unix或者linux上进行的,这样对于使用上,有些繁琐. 下面我将介绍我在使用windows远程开发过程中的一些总结: ...
- 数据库MySQL——SQL语句(命令)
SQL语句分类 DCL (Data Control Language):数据控制语言:用来管理用户及权限 DDL(Data Definition Language):数据定义语言:用来定义数据库对象: ...
- 调用个别f5 负载端口为80的vs时,返回值为空的问题
现状: vs负载端口为80并添加XFF,pool包含2个member,member的monitor端口为80&9000. 故障现象: 应用同事描述说再完全复制了一个member并添加到pool ...
- Git实践笔记(二)
前一篇中说完了本地仓库的一些操作,本篇将继续进行撤销修改和删除的操作,以及远端仓库的设置.提交.克隆. 撤销修改和删除 现在在test.txt文件里面增加一行,内容为add error msg,先通过 ...
- Git轻松入门3:远程仓库篇
在第一讲中,我们有介绍过:Git是分布式版本控制系统.每个人的电脑上都有一份完整的版本库.当对项目作出了修改后,只要把修改推送给对方即可.但很有可能的情况是:两台电脑不在一个局域网内,无法互相访问:或 ...
- 一文入门Linux下gdb调试(二)
作者:良知犹存 转载授权以及围观:欢迎添加微信号:Conscience_Remains 总述 今天我们介绍一下core dump文件,Core dump叫做核心转储,它是进程运行时在突然崩溃的 ...
- PAT甲级—暴力搜索
1091 Acute Stroke (30point(s)) 基础的搜索,但是直接用递归会导致段错误,改用队列之后就不会了,这说明递归调用在空间利用率上还是很吃亏的. #include <cst ...
- hdu 6704 K-th occurrence(后缀数组+可持久化线段树)
Problem Description You are given a string S consisting of only lowercase english letters and some q ...
- STL中pair容器的用法
1.定义pair容器 1 pair <int, int> p, p1; 2 //定义 [int,int] 型容器 //直接初始化了p的内容 pair<string,int>p( ...
- 避坑!js正确地使用fill()初始化二维数组
先介绍一下坑 fill()方法都知道,填充数组 比如: let a = new Array(5).fill(0); console.log(a); // 输出结果为[0, 0, 0, 0, 0] 当我 ...