一、遞迴函式的特性
二、遞迴函式的使用示例
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 。一個模組...