云计算开发学习笔记:Python3斐波纳契数列

注册 Vultr VPS 送你10美金 免费玩4个月

在前面的教程中我们已经学习了一些 Python3 的基本语法知识,下面我们尝试来写一个斐波纳契数列。

202007221010

其中代码 a, b = b, a+b 的计算方式为先计算右边表达式,然后同时赋值给左边,等价于:

202007221011

执行以上程序,输出结果为:

202007221012

这个例子介绍了几个新特征。

第一行包含了一个复合赋值:变量 a 和 b 同时得到新值 0 和 1。最后一行再次使用了同样的方法,可以看到,右边的表达式会在赋值变动之前执行。右边表达式的执行顺序是从左往右的。

输出变量值:

202007221013

end 关键字

关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下:

202007221014

执行以上程序,输出结果为:

202007221015

递归方式

下面使用递归方式求斐波纳契数列

其实递归就是函数内部调用自身。

使用 print(fab(num)) #num 是一个数字,可用递归方式求输入数字的斐波纳契结果:

202007221016

递归方式在很大程度上牺牲了空间换取了可读性。每次调用递归函数的时候都会创建一个函数栈,如果递归深度过大,则会造成溢出状况。而使用a,b = b,a+b 方法求斐波那契数列,占用空间少,来回只有两个变量的空间占用,很方便。

注册 Vultr VPS 送你10美金 免费玩4个月