码迷,mamicode.com
首页 > 其他好文 > 详细

递归函数

时间:2016-10-12 00:41:03      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

例如:

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

 

递归函数

标签:

原文地址:http://www.cnblogs.com/RomanticYori/p/5951062.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!