python防止棧溢出的解決
說明
1、使用遞歸函數(shù)的優(yōu)點是邏輯簡單明了,缺點是調(diào)用過深會導(dǎo)致棧溢出。
2、遞歸調(diào)用棧溢出的方法是棧溢出問題,實際上尾遞歸與循環(huán)效果相同。
3、將循環(huán)視為一種特殊的尾遞歸函數(shù)也是可以的。
實例
deffact(n):
returnfact_iter(n,1)
deffact_iter(num,product):
ifnum==1:
returnproduct
returnfact_iter(num-1,num*product)
#fact(5)的調(diào)用過程
===>fact_iter(5,1)
===>fact_iter(4,5)
===>fact_iter(3,20)
===>fact_iter(2,60)
===>fact_iter(1,120)
===>120
以上就是python防止棧溢出的方法,希望對大家有所幫助。更多Python學(xué)習(xí)教程請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。