1. 程式人生 > >06python 中的遞歸函數(python函數)

06python 中的遞歸函數(python函數)

+= ... ret 初始化 spa 範圍 pri return bsp

什麽遞歸?

在函數內部自己調用自己就叫做遞歸(遞歸的最大深度不要超過1000次)

遞歸代碼

n = 0


def story():
    global n
    n += 1
    print(n)
    story()


story()
>>>1
...
998

遞歸函數與斐波那契

def fib(n):
    """
    This is Fibonacci by Recursion.
    """
    if n==0:
        return 0
    elif n==1:
        
return 1 else: return fib(n-1) + fib(n-2)

求斐波那契函數的第n個值

meno = {0:0, 1:1}    #初始化

def fib(n):
    if not n in meno:    #如果不在初始化範圍內
        meno[n] = fib(n-1) + fib(n-2)
    return meno[n]


f = fib(10)
print f

>>>55

遞歸與階乘

def fact(n):
    if n==1:
        
return 1 return n * fact(n - 1)

06python 中的遞歸函數(python函數)