python基础之递归函数

python基础之递归函数

# 递归满足的条件
# 1.自己调用自己
# 2.必须有一个明确的结束条件
# 优点:逻辑简单\定义简单
# 缺点:防止内存消耗过多,容易导致栈溢出,内存资源紧张,甚至内存泄漏事件发生
# 求阶乘
# 循环的方式去实现
def jiecheng(n):
    result=1
    for item in range(1,n+1):
        result*=item
        pass
    return result #普通函数必须指定返回值
print('4的阶乘为{}'.format(jiecheng(4)))

python基础之递归函数

def diguijc(n):
    '''
    递归函数
     :param n:阶乘参数
    :return:
    '''
    if n==1:
        return 1
    else:
        return n*diguijc(n-1)
    pass
 # 递归调用
print('4的阶乘为{}'.format(diguijc(4)))

python基础之递归函数

python基础之递归函数

# 模拟实现树形结构的遍历
import os #引入文件操作模块
def findFile(file_path):
    listRs=os.listdir(file_path) # 得到该路径下所有和文件夹
    for fileitem in listRs:
        full_path=os.path.join(file_path,fileitem) #组合成为完整的文件路径
        if os.path.isdir(full_path): #判断是否是文件夹
            file_path(full_path) #如果是一个文件夹,再次递归
            pass
        else:
            print(fileitem)
            pass
        pass
    else:
        return
    pass
# 先给一个路径
findFile('C:\\Users\\LXQ\\Desktop')

python基础之递归函数

python基础之递归函数

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!