递归函数:在函数内部不调动其他函数 而是调用自己本身
递归函数必须要有一个结束的条件否则递归无法结束
#求阶乘
#循环方式
def jiecheng(n):
i=1
for item in range(1,n+1):
i=i*item
pass
return i
print('5的阶乘{}'.format(jiecheng(5)))
#递归实现
def diguiJC(n):
'''
递归实现
:param n: 阶乘参数
:return:
'''
if n==1:
return 1
else:
return n*diguiJC(n-1)
pass
print('5的阶乘{}'.format(diguiJC(5)))
#递归案例:模拟实现树形结构的遍历
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):#判断是否是文件夹
findFile(full_path)#如果是一个文件夹 再次去递归
else:
print(fileItem)
pass
pass
else:
return
pass
findFile('F:\\11')