递归函数

# -*- coding: utf-8 -*-
#python 27
#xiaodeng
#递归函数  #508



#定义:
#在函数内部,可以调用其他函数,如果一个函数在内部调用其自身,这个函数就是递归函数



#递归
'''
(1)递归就是在过程或函数里调用自身【调用自身】
(2)在使用递归策略时,必须有一个明确的递归结束条件,称之为递归出口
递归算法要解决的3个问题:
(1)数据的定义是按递归定义的
(2)问题解法按递归算法实现
(3)数据的结构形式是按递归定义的
'''


#案例1
def mysum(L):
    print L
    if not L:
        return 0
    else:
        return L[0]+mysum(L[1:])

    

#调用
print mysum([1,2,3,4,5])
'''
[1, 2, 3, 4, 5]
[2, 3, 4, 5]
[3, 4, 5]
[4, 5]
[5]
[]
15
'''


#案例2
def f(n):
    if n==1:
        return 1
    return n*f(n-1)

print f(3)#6


#递归特点
#定义简单、逻辑清晰,所有的递归函数都可以写成循环的方式。

 

posted @ 2015-10-23 22:34  Xiao|Deng  阅读(171)  评论(0编辑  收藏  举报