python中的遞迴函式

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

一、遞迴函式的特性

二、遞迴函式的使用示例

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中的 all

python中在匯入模組的時候,可能經常會使用 from import 但我不建議你這麼做,使用這種方式會將目標模組裡的所有內容都匯入,除了...

python中的 call

如果python中的一個類定義了 call 方法,那麼這個類它的例項就可以作為函式呼叫 也就是實現了 運算子,即可呼叫物件協議 下面是一個簡...

Python中的 name

經常會在 的最下面看到if name main 現在就來介 紹一下它的作用 模組是物件,並且所有的模組都有一個內建屬性 name 。一個模組...