Day3 2 函式之遞迴

2022-05-10 00:57:40 字數 652 閱讀 3646

定義:乙個函式在 內部呼叫自己,就稱為遞迴.

#

如何讓10不停的除以2,直到不能除為止.

n = 10

while

true:

n = int(n /2)

print

(n)

if n ==0:

break

#

使用while迴圈可以實現.但是如果不用迴圈,該怎麼實現呢?

defcalc(n):

n = int(n/2)

print

(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 規則...