1、递归函数:函数调用填本身
#n! def digui(n): if n==0: return 1 return n * digui(n-1) m = digui(3) print(m) 控制台输出:6
2、举个例子--斐波那契函数
def fib(n): if n == 0: return 0 elif n == 1: return 1 else: return fib(n-1) + fib(n-2) n = fib(10) print(n) 控制台输出:55
3、详细说明
a:把问题分成更小子问题,此处将 abcdef,分为 a 和 bcdef
b:有一个函数可以应用在所有的子问题上 str[1:]+str[0]
c:把子问题的解,拼成最终问题的解,即递归的部分。return fanzhuan(str[1:])+str[0]
d:子问题到最低层时该返回什么值,即什么时候停止递归。下面的 if 条件
str1 = 'abcdef' def fanzhuan(str): if len(str) == 1: return str return fanzhuan(str[1:])+str[0] str2 = fanzhuan(str1) print(str2) 控制台输出:fedcba
4、本文参考博文:https://blog.csdn.net/weixin_43405546/article/details/83045725