思路:
計算數列中第n個值,需要依賴前面n-1 和 n-2位置的值,所以就是執行func(n)的時候需要用到func(n-1)和func(n-2)
但是對於最底層被呼叫的 也就是func(1)和func(2)需要指定 返回值!
def執行結果:func(n):
if n==1 or n==2:
return 1
else
:
return func(n-1)+func(n-2)
print(func(5))
def執行結果:func(n):
if n==1:
return 1
else
:
return n*func(n-1)
print(func(5))
遞迴函式必須要有結束條件!!
遞迴函式的結果如果需要有返回值的話,需要層層返回!
不要看到return 就認為返回了,需要層層分析,這個返回值在第幾層返回的,返回給哪一層了;
如果最外層函式沒有返回值的話,呼叫者是接收不到的,print的結果就是none!
遞迴函式效率挺低的~而且當乙個遞迴函式裡面的返回值是多個=遞迴函式時,效率更低~(比如這裡的斐波那契數理 func(n)內部返回func(n-1)+func(n-2))
python學習 Day18 異常
異常即是乙個事件,該事件會在程式執行過程中發生,影響了程式的正常執行。一般情況下,在python無法正常處理程式時就是發生乙個異常,異常是python物件,表示乙個錯誤,當python指令碼發生異常時我們需要捕獲處理它,否則程式會終止執行。異常處理常用形式 try 正常操作 except 發生異常,...
python學習筆記 day18 初識模組
正規表示式其實和python並沒有什麼關係,它就是字串匹配的規則 字元組 在同乙個位置可能出現的各種字元就組成了乙個字元組,比如你要求乙個位置只能出現數字,但是這個數字可以是0 9之間的任意乙個,這個時候就可以用到正則了 0123456789 相當於 0 9 可以匹配0 9之間的任意乙個數字 a z...
前端學習Day18
一 3d的旋轉 增加了rotatez 和 rotate3d x,y,z,度數 注 x y z 它們是乙個向量值,0是不旋轉,1是旋轉 eg rotate3d 1,1,0,45deg 等價於 rotatex 45deg rotatey 45deg 二 3d的縮放 增加了 scalez 和 scale3...