求斐波那契数列数列 | 学习笔记

简介: 快速学习 求斐波那契数列数列

开发者学堂课程【Python入门 2020年版求斐波那契数列数列】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/639/detail/10278


求斐波那契数列数列


求斐波那契数列

求斐波那契数列中第 n 个数的值,n 是正整数。
说明:斐波那契数列是这样的一个数列: 11 2358132134...第一个数和第二个数是1,从第三个数开始每个元素是前两个元素相加的和。

while True
n = int(input(‘
请输入你想查询的是第几个数: ‘))

if n > 0;
brea
print(‘
输入的值必须是正整数! ‘)
a= 1
b=1
i=2
if n == 1:

print(a)

elif n == 2:

print(b)

else:
while i < n:

#求斐波那契数列中第 n 个数的值,n 是正整数#求斐波那契数里第12个数(注意:变量太多,先将常量写出,再将常量换成变量)# 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89144(这里指的是斐波那契数列)

num1 = 1

num2 = 2

讲解过程:

image.png

红色 num1     num1 = num2num1以赋值给 num2

绿色 num2     num2 = num2 + num2(不能写成 num2 = num1 + num2

方法:在给一个变量替换 num1

a = num1

num1 = num2

num2 = a + num2

print(num2)

计算下一个数:

image.png

红色 num1

绿色 num2

# 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144
num1 = 1
num2 = 1
a = num1
num1 = num2
num2 = a + num2
print( num2)
a = num1
num1 = num2
num2=a + num2
print(num2)

运行结果:

C:Users\chris\AppData\Local\Programs\Python\Python37\python. exe C:/Users/ chris/Desktop/Python 基础/Day05-字符
2

3
Process finished with exit code 0

在往下:

num1 = 1
num2 = 1
a = num1
num1 = num2
num2 = a + num2
print( num2)
a = num1
num1 = num2
num2=a + num2
print(num2)

a = num1
num1 = num2
num2 = a + num2
print(num2)

运行结果:

C:Users\chris\AppData\Local\Programs\Python\Python37\python. exe C:/Users/ chris/Desktop/Python 基础/Day05-字符
2

3

5
Process finished with exit code 0

若求下个数,则继续移。

规律:

3个交换1

4个交换2

5个交换3

n个交换n-2

求前12个数:

for i in range(0,12-2):
a = num1
num1 = num2
num2 = a + num2
print (num2)

运行结果:C: \Users\chris\AppData\Local\Programs \Python\Python37\python. exe C:/Users/chris/Desktop/Python 基础/Day05-字符2

3

5

8
13
21
34
55
89

144

Process finished with exit code 0

求第12个数:

for i in range(0, 12 - 2):

a = num1
num1 = num2
num2 = a+num2

print(num2)

运行结果:C:Users\chris\AppData\Local\Programs Python\Python37\python. exe C:/Users/chris/Desktop/Python 基础/Day05-字符

144
Process finished with exit code 0

求第n个斐波那契数列:

#求斐波那契数列中第 n 个数的值,n 是正整数

n = int(input(‘请输入您要第几个斐波那契数:’))
#求斐波那契数里第12个数# 1,1,2,3,5,8,13,21, 34, 55, 89, 144
num1 = 1
num2 = 1
#
3个交换1
#
4个交换2
#
5个交换3
#
n 个交换 n-2
for i in range(0, 12 - 2):
a = num1
num1 = num2
num2 = a + num2
print (num2)

运行结果:

C:Users\chris\AppData\Local\Programs Python\Python37\python. exe C:/Users/chris/Desktop/Python 基础/Day05-字符

请输入您的第几个斐波那数:13

233
Process finished with exit code 0

讨论第一个和第二个:

# 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144
num1 = 1
num2 = 1

#3个交换1

#4个交换2

#5个交换3

# n 个交换 n-2
for i in range(0, n - 2):

a = num1

num1 = num2
num2 = a + num2

print(num2)

运行结果1

C: \Users\chris\AppData\Local\Programs \Python\Python37\python. exe C:/Users/chris/Desktop/Python 基础/Day05-字符
请输入您的第几个斐波那数:1

1
Process finished with exit code 0

运行结果2

C: \Users\chris\AppData\Local\Programs \Python\Python37\python. exe C:/Users/chris/Desktop/Python 基础/Day05-字符
请输入您的第几个斐波那数:2

1

Process finished with exit code 0

总结:斐波那契数列就是一个数跟下一个数替换的问题

相关文章
|
安全 Java 容器
Java定时器
Java定时器
601 0
|
SQL 存储 前端开发
商品热销排行【项目 商城】
商品热销排行【项目 商城】
139 0
|
Apache C++ Java
Thrift之TProcess类体系原理及源码详细解析
我的新浪微博:http://weibo.com/freshairbrucewoo。 欢迎大家相互交流,共同提高技术。   之前对Thrift自动生成代码的实现细节做了详细的分析,下面进行处理层的实现做详细分析了!会利用到自动代码生成的知识。
971 0
|
4天前
|
数据采集 人工智能 安全
|
13天前
|
云安全 监控 安全
|
5天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1092 152
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1768 9
|
10天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
700 152