在計算機程式設計裡,遞迴指的是乙個過程:函式不斷引用自身,直到引用的物件已知。
1、自己呼叫自己
2、必須有乙個明確的結束條件
優點:
缺點:
計算n的階乘
def
factorial
(n):
if n==1:
return
1 fac=n*factorial(n-1)
return fac
n=
5print
('{}的階乘是{}'
.format
(n,factorial(n)))
5的階乘是120
計算自然數1至n的和
def
summation
(n):
if n==1:
return
1else
:sum
=n+summation(n-1)
return
sum
n=
5print
('1到{}的和是{}'
.format
(n,summation(n)))
1到5的和是15
3.求斐波那契數列第n位的數
(指的是這樣乙個數列:0、1、1、2、3、5、8、13、21、34、……在數學上,斐波那契數列以如下被以遞推的方法定義:f(1)=1,f(2)=1, f(n)=f(n - 1)+f(n - 2)。這個數列從第3項開始,每一項都等於前兩項之和。)
def
fibonacci
(n):
if n==
0or n==1:
return n
else
: result=fibonacci(n-2)
+fibonacci(n-1)
return result
n=
9print
('斐波那契數列第{}項是{}'
.format
(n,fibonacci(n)
))
斐波那契數列第9項是34
4.模擬樹形結構遍歷資料夾中的所有檔案
#輸入path是乙個路徑,目的:檢視裡面的所有檔案(如果有資料夾要開啟資料夾接著檢視,直到找到所有檔案)
import os
deffindfile
(path)
: path_file=os.listdir(path)
#獲取路徑path裡的所有檔案和資料夾
for fileitem in path_file:
#遍歷path裡的所有檔案或者資料夾
full_path=os.path.join(path,fileitem)
#檔案或資料夾的完整路徑
if os.path.isdir(full_path)
:#判斷是不是資料夾
findfile(full_path)
#是資料夾 遞迴
else
:print
(fileitem)
#否則輸出檔名
else
:return
print
(findfile(
'f:\\社團註冊材料'))
2017--
-2018學年第一學期社團註冊要求.doc
上學年財務總結報告.doc
主要活動介紹.doc
女子協會章程.doc
電信女子協會學期總結.doc
電信女子協會學期計畫.doc
社團活動統計表.doc
社團登記表.doc
社團負責人審批表.doc
第一學期社團註冊要求.doc
獲獎情況.doc
財務審批表.doc
主要活動介紹.doc
女子協會章程.doc
禮儀部11月份工作計畫.doc
禮儀部十月份工作總結.doc
社團註冊材料.
zip社團活動統計表.doc
社團登記表.doc
社團負責人審批表.doc
獲獎情況.doc
財務審批表.doc
這是路徑下的所有檔案,其中包括兩個資料夾
Python之遞迴函式
如果乙個函式在函式內部呼叫函式本身,那麼這個函式就是遞迴函式。例如用遞迴函式計算階乘。deffact n if n 1 return 1.return n fact n 1 fact 1 1 fact 7 5040 fact 999 traceback most recent call last f...
python之函式遞迴
函式的遞迴 函式呼叫自身的程式設計技巧稱為遞迴 遞迴函式的特點 特點 特點 函式內部的 是相同的,只是針對引數不同,處理的結果不同當引數滿足乙個條件時,函式不再執行 示例 def sum numbers num print num 遞迴的出口很重要,否則會出現死迴圈 遞迴案例 計算數字累加 需求 定...
python函式之遞迴
1.程式語言中,函式func type a,直接或間接呼叫函式本身,則該函式稱為遞迴函式。2.在數學上,關於遞迴函式的定義如下 對於某一函式f x 其定義域是集合a,那麼若對於a集合中的某乙個值x0,其函式值f x0 由f f x0 決定,那麼就稱f x 為遞迴函式。3.一種計算過程,如果其中每一步...