python基礎(chǔ)之遞歸函數(shù)
發(fā)布日期:2021-12-21 05:44 | 文章來源:CSDN

# 遞歸滿足的條件
# 1.自己調(diào)用自己
# 2.必須有一個(gè)明確的結(jié)束條件
# 優(yōu)點(diǎn):邏輯簡(jiǎn)單\定義簡(jiǎn)單
# 缺點(diǎn):防止內(nèi)存消耗過多,容易導(dǎo)致棧溢出,內(nèi)存資源緊張,甚至內(nèi)存泄漏事件發(fā)生
# 求階乘
# 循環(huán)的方式去實(shí)現(xiàn)
def jiecheng(n):
result=1
for item in range(1,n+1):
result*=item
pass
return result #普通函數(shù)必須指定返回值
print('4的階乘為{}'.format(jiecheng(4)))

def diguijc(n):
'''
遞歸函數(shù)
:param n:階乘參數(shù)
:return:
'''
if n==1:
return 1
else:
return n*diguijc(n-1)
pass
# 遞歸調(diào)用
print('4的階乘為{}'.format(diguijc(4)))


# 模擬實(shí)現(xiàn)樹形結(jié)構(gòu)的遍歷
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) #如果是一個(gè)文件夾,再次遞歸
pass
else:
print(fileitem)
pass
pass
else:
return
pass
# 先給一個(gè)路徑
findFile('C:\\Users\\LXQ\\Desktop')


總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注本站的更多內(nèi)容!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
相關(guān)文章
關(guān)注官方微信