python防止棧溢出的解決
說明
1、使用遞歸函數(shù)的優(yōu)點是邏輯簡單明了,缺點是調用過深會導致棧溢出。
2、遞歸調用棧溢出的方法是棧溢出問題,實際上尾遞歸與循環(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)的調用過程
===>fact_iter(5,1)
===>fact_iter(4,5)
===>fact_iter(3,20)
===>fact_iter(2,60)
===>fact_iter(1,120)
===>120
以上就是python防止棧溢出的方法,希望對大家有所幫助。更多Python學習教程請關注IT培訓機構:千鋒教育。