问题描述
在Python的运算中会经常用到递归,下面小编将会用简单的代码做一个解释示例。
解决斐波拉数列时我们之前用的是for循环,现在用递归的方法运算,实践一下。
解决方案
首先用def定义一个函数f(),使用if判断语句进行判断,用return进行层层递归,最后给n赋一个值,就会得到运行结果5。
同样还是先定义一个函数,始值就是0,1,知道斐波那数列中的第三项是前两项的和就会有a=b,b=a+b,最后给n一个值,即是在求第n项的值。
代码:
def f(n):if n == 5:return 5return f(n+1)print(f(1)) |
---|
def f(n,a,b):if n==1:return 0if n ==2:return breturn f(n-1,b,a+b)print(f(5,0,1)) |
结语
经过实例我们可以看出递归和循环的应用有点相似,但又不同。递归在之后的编程会经常用到。因为与循环相比代码较简短,使用方便,还可以对函数的定义,判断语句进行巩固。