基于Python3版本的学习。
斐波那契数列
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……
表达式:F[n]=F[n-1]+F[n-2] (n>=3,F[1]=1,F[2]=1)
方法1:定义函数def
# Python案例笔记 | 斐波那契数列
# # 1、1、2、3、5、8、13、21、34、……
# 表达式:F[n]=F[n-1]+F[n-2] (n>=3,F[1]=1,F[2]=1)
def fib(n):
a = 1
b = 1
while a < n:
print(a, end=' ')
a,b = b,a+b
n = int(input('请输入你需要计算的数字范围:'))
fib(n) #输出的是n以内的斐波那契数列
其中:
代码a, b = b, a+b 的计算方式为先计算右边表达式,然后同时赋值给左边,等价于:
n=b
m=a+b
a=n
b=m
运行结果:
请输入你需要计算的数字范围:2000
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
方法2:range()函数
n = int(input('请输入你需要计算的数字范围:'))
a = 1
b = 1
print(a,b,end=' ') # 先把前两个特殊的打印出来,剩下的用for函数遍历
for x in range(2,n):
if x == a + b: # 判断:如果前两个数相加等于第三个数,打印第三个数
print(x,end=' ')
a = b
b = x
运行结果:
请输入你需要计算的数字范围:1000
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987