python中的遞迴函式

2022-06-23 17:09:11 字數 1211 閱讀 5290

一、遞迴函式的特性

二、遞迴函式的使用示例

1.斐波拉契數列的實現

1.1 遞迴版本

1

#遞迴版

2def fibo2(n, first_num=0, second_num=1):

3if n == 2:

4return

second_num

5elif n == 1:

6return

first_num78

return fibo2(n-2)+fibo2(n-1)910

#0 1 1 2 3 5 8 13 21 34

11print(fibo2(5))

1.2 迴圈版本

1

#迴圈版

2def fibo1(n, first_num=0, second_num=1):

3 before =first_num

4 after =second_num56

for i in range(n-2):

7 before, after = after, before+after89

return

after

1011

#0 1 1 2 3 5 8 13 21 34

12print(fibo1(4))

2.階乘的實現

2.1 遞迴版本

1

#遞迴版

2def

factorial(n):

3if n ==0:

4return 1

5else:6

return n * factorial(n-1)78

print(factorial(0))

2.2 迴圈版本

1

#迴圈版

2def

factorial(n):

3if n ==0:

4return 1

5else

:6 result = 1

7while

n:8 result = result *n

9 n -= 1

10return

result

1112

print(factorial(3))

python遞迴函式步驟 Python中的遞迴函式

函式遞迴 函式的遞迴呼叫,即在函式呼叫的過程中,又直接或間接地呼叫了函式本身 直接呼叫 def foo print from foo foo foo 間接呼叫 def bar print from bar foo def foo print from foo bar foo 在使用遞迴時,需要注意以...

python中遞迴函式的使用

遞迴函式就是自己呼叫自己的函式,遞迴函式使用過程中應注意呼叫深度,否則計算機無法承受。1.使用遞迴函式實現計算某個數的階乘。def fact n if n 1 return 1return n fact n 1 print fact n 其中n為某個數。1.2用遞迴函式來實現獲取斐波拉契數列中的第n...

詳解python中遞迴函式

函式執行流程 def foo1 b,b1 3 print foo1 called b,b1 def foo2 c foo3 c print foo2 called c def foo3 d print foo3 called d def main print main called foo1 100...