1. 程式人生 > >Python_從零開始學習_(33) 函式的遞迴

Python_從零開始學習_(33) 函式的遞迴

1.  函式的遞迴

函式呼叫自身的 程式設計技巧 稱為遞迴

1.1  遞迴函式的特點

特點

  • 一個函式 內部 呼叫自己 
  • 函式內部可以呼叫其他函式,  當然在函式內部也可以呼叫自己

程式碼特點

  1. 函式內部的 程式碼 是相同的,  只是針對 引數 不同,  處理的結果不同
  2. 引數滿足一個條件 時,  函式不再執行
  • 這個非常重要,  通常被稱為遞迴的出口, 否則 會出現死迴圈
def sum_number(num):

    print(num)
    # 遞迴的出口, 當引數滿足某個條件時, 不再執行函式
    if num == 1:
        return

    # 自己呼叫自己
    sum_number(num - 1)


sum_number(3)

# 列印結果
# 3
# 2
# 1

1.2  遞迴 -- 計算數字累加

  1. 定義一個函式 sum_numbers
  2. 能夠接受一個 num 的整數引數
  3. 計算 1 + 2 + ... + num 的結果
def sum_numbers(num):

    # 1. 出口
    if num == 1:
        return 1

    # 2. 數字的累加 num + (num-1 + ... + 1)
    temp = sum_numbers(num - 1)

    return temp + num


result = sum_numbers(3)
print(result)