python遞歸求階乘的方法
#階乘:例如5! 指的是“5的階乘”,即5! = 1* 2*3*4*5。
「遞迴」就是對自身進行呼叫的函數。
推薦學習:Python影片教學
def f(x): if x == 0: return 0 elif x == 1: return 1 else: return (x * f(x-1)) print(f(5))
程式碼解釋:如果 x=5,那麼就傳回 5*f(4) 的值。而想知道這個值,就得先算出 f(4) 等於多少。根據函數 f(x),f(4) = 4*f(3),所以 f(5) = 5*4*f(3)。以此類推,推到 f(5) = 5*4*3*2*f(1)。函數 f(x) 說了,當 x==1 時,傳回值為 1。所以:f(5) = 5*4*3*2*1 = 120。所以,輸出結果如下:
120
聽起來好像很麻煩,覺得很不好理解。如果不用遞迴函數呢?用最基本的程式碼,可以寫成:
f = 1 for i in range(1,6): f = f * i print(f)
結果一樣是120。
以上是python遞歸求階乘的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!