python基礎(chǔ)之遞歸函數(shù)
更新時(shí)間:2021年10月22日 14:54:32 作者:qianqqqq_lu
這篇文章主要介紹了python遞歸函數(shù),實(shí)例分析了Python中返回一個(gè)返回值與多個(gè)返回值的方法,需要的朋友可以參考下

# 遞歸滿足的條件
# 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)容!
相關(guān)文章
Python安裝Selenium報(bào)錯(cuò)解決之全方位排錯(cuò)指南
pip是一個(gè)安裝Python包的管理工具,很多功能強(qiáng)大、使用方便的Python框架、插件、工具等,都是通過pip來進(jìn)行安裝的,這篇文章主要給大家介紹了關(guān)于Python安裝Selenium報(bào)錯(cuò)解決之全方位排錯(cuò)的相關(guān)資料,需要的朋友可以參考下2024-08-08
Python+Pytorch實(shí)戰(zhàn)之彩色圖片識(shí)別
這篇文章主要為大家詳細(xì)介紹了如何利用Python+Pytorch實(shí)現(xiàn)彩色圖片識(shí)別功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-09-09
OpenCV學(xué)習(xí)記錄python實(shí)現(xiàn)連通域處理函數(shù)
這篇文章主要為大家介紹了OpenCV學(xué)習(xí)記錄python實(shí)現(xiàn)連通域處理函數(shù)cv2.connectedComponentsWithStats()和cv2.connectedComponents()的使用示例詳解2022-06-06

