定義:乙個函式在 內部呼叫自己,就稱為遞迴.
#如何讓10不停的除以2,直到不能除為止.
n = 10
while
true:
n = int(n /2)
(n)
if n ==0:
break
#使用while迴圈可以實現.但是如果不用迴圈,該怎麼實現呢?
defcalc(n):
n = int(n/2)
(n)
if n ==0:
return
n calc(n)
calc(10)
#上面就是不使用迴圈,來實現的**.在函式內呼叫自己.就稱為遞迴.
應用場景:在上一次執行結果上,執行上次一次的邏輯.就可以用遞迴.
必須有乙個明確的結束條件
每次進入更深一層遞迴時,問題規模相比上次遞迴都應有所減少
遞迴效率不高,遞迴層次過多會導致棧溢位(在計算機中,函式呼叫是通過棧(stack)這種資料結構實現的,每當進入乙個函式呼叫,棧就會加一層棧幀,每當函式返回,棧就會減一層棧幀。由於棧的大小不是無限的,所以,遞迴呼叫的次數過多,會導致棧溢位)
day32 學習總結
檔案的傳輸,輸入與輸出 按流的方向可以分為 輸入流和輸出流 按流的型別可以分為 位元組流和字元流 字元流主要用於文字檔案,可以通過記事本直接開啟的檔案使用需要通過其子類建立流物件fileoutputstream 檔案位元組輸出流 將內容輸出到文字檔案中構造方法 fileoutputstream fi...
Linux學習之路 day 3(2)
一 執行級別 基本語法 init 執行級別,例如 init 3 init 5。忘記root密碼,如何找回?思路 通過一定的方式進入單使用者模式 不同版本的linux不一樣 然後修改root密碼。這是因為單使用者模式中,root不需要密碼就可以登入,這時就可以用passwd來修改密碼。設定linux當...
python學習筆記 day3(2)
int x,base x 有兩種 字串 數字 若 x 為純數字,則不能有base引數,主要用於 x 取整 int 3.14 3 int 11.5 11 如果 x 為字串,則 base 引數可選。base 引數存在時,視 x 為 base型別的數字,並將其轉為10進製。如果 x 不符合 base 規則...