递归函数:函数体内调用了该函数本身,分为传递和回归两个过程。
组成部分:递归调用和终止条件。
实例:使用递归来计算6的阶乘
def func(n): if n == 1: return 1 else: return n*func(n-1) print(func(6))
解释:实际上调用过程是6func(5func(4func(3func(2*func(1)))),这个过程是传递;当n=1时,此时func(1)=1,所以不再调用函数本身(达到终止条件了),然后开始回归,将func(1) = 1代回得到fun(2) = 2,以此类推,最终得到的就是func(6) = 720。
实例:斐波那契数列
def fib(n): if n == 1 or n == 2: return 1 else: return fib(n-1)+fib(n-2) print(fib(6)) # 输出第6位的数字 for i in range(1, 7): # 输出前6位的数字 print(fib(i))
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233294.html原文链接:https://javaforall.net