1. 程式人生 > >少說話多寫程式碼之Python學習037——建立函式03(函式的使用 )遞迴

少說話多寫程式碼之Python學習037——建立函式03(函式的使用 )遞迴

前面學會了如何建立函式,至於函式引數列表的使用,函式內部作用域,函式過載等等,Python中的函式與其他語言的函式並無不同,所以這裡不再說明。我們一般學習的第一門程式語言大多是C語言,
學習C語言我們每每學的都是遞迴,二分查詢,氣泡排序以及各種排序等等。那麼我們選一兩樣看看Python中如何實現。
看看遞迴和二分法查詢,看看函式的使用。

遞迴,遞迴最大特點是函式自己呼叫自己,直到最終返回一個值,然後層層返回。
我們看兩個例子,一個數的階乘、一個數的冪。

我們用自己理解的方式實現階乘,如下

def factorial(n):
    if(n<=0):
        return 1
    result=n;
    for i in range(1,n):
        result = result*i
    return  result
#呼叫
print(factorial(0))
print(factorial(1))
print(factorial(3))

輸出

1
1
6

改用遞迴實現,

#遞迴實現
def factorialStandard(n):
    if n<=0:
        return 1
    else:
        return  n*factorial(n-1)
#呼叫
print(factorial(0))
print(factorial(1))
print(factorial(3))

輸出

1
1
6

再來看冪次方的實現,
先用冪次方的定義來實現,

#此處只考慮n為正數
def myPower(x,n):
    if(n<=0):
        return  1
    result=1
    for i in range(n):
        result =result*x
    return  result
#呼叫
print(myPower(1,0))
print(myPower(1,1))
print(myPower(2,3))

輸出

1
1
8

改為遞迴實現冪次方

#遞迴實現冪
def myPowerStandard(x,n):
    if n<=0:
        return  1
    else:
        return  x*myPowerStandard(x,n-1)
#呼叫
print(myPowerStandard(1,0))
print(myPowerStandard(2,3))

輸出

1
8

工程檔案下載:https://download.csdn.net/download/yysyangyangyangshan/10766620