在函數(shù)返回的時(shí)候,調(diào)用自身扁瓢,并且return語句不能包含表達(dá)式并炮。
def fact(n):
return fact_iter(1, 1, n)
def fact_iter(product, count, max):
if count > max:
return product
return fact_iter(product * count, count + 1, max)
fact(3)>>(1,1,3)>>fact_iter(1, 1, 3)>>>>>>(6, 4, 3)>>4大于max,跳出蹋绽,返回product
需要遞歸出口
出口條件成立后返回當(dāng)前水平的product
遞歸時(shí)需要給予變化后的數(shù)據(jù)芭毙,如上的product * count和count + 1。