首页 > 代码库 > 递归函数

递归函数

例如:

def f1():       f1返回123

  return 123

def f2():      执行f1函数,并返回f1函数的返回值123

  ret=f1()

  return ret

def f3():      执行f2函数,并打印f2函数的返回值123

  ret=f2()

  print(ret)

f3()    

输出:

123

 

思考题:算出1x2x3x........x10的积

方法一 利用递归函数

def func(n,m):            这里需要传两个值n代表计算n*(n-1).......*1,m代表乘积的初始值

  if n > 0:

    m=m*n

    n -=1

    return func(n,m)          通过返回函数本身来达到递归的效果

  else:

    print(m)

 

func(10,1)        计算10以内的乘积即n=10,乘积m初始值位1

输出:

3628800

 

方法二:我们可以理解递归函数相当于一个while循环。同样我们可以利用循环做出10以内的乘积

def func(n,m):

  while n > 0:

    m=n*m

    n -=1

  else:

    print(m)

func(10,1)

输出:

3628800

 

递归函数