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

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

开发者学堂课程【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

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

相关文章
|
3月前
斐波那契数列
【10月更文挑战第19天】斐波那契数列。
39 3
|
4月前
|
Java
01_斐波那契数列
01_斐波那契数列
|
8月前
|
机器学习/深度学习 算法
(1188:1201:)斐波那契数列
(1188:1201:)斐波那契数列
160 0
|
机器学习/深度学习 开发工具
斐波那契数列的四种实现
在编程教程中提到斐波那契数列,通常都是用来讲解递归函数。当一个关于 N 的问题可以转换为关于 N - k 的同样问题时,它就可以尝试用递归的思路来解决。
斐波那契数列问题
斐波那契数列问题
107 0
|
算法
30.斐波那契数列
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39
82 0
30.斐波那契数列
|
算法 JavaScript 前端开发
☮斐波那契数列与动态规划
☮斐波那契数列与动态规划
125 0
☮斐波那契数列与动态规划