python培训之防止栈溢出的解决

发布时间:2023-02-16 09:25:19 人气:30 作者:多测师

  python防止栈溢出的解决

  说明

  1、使用递归函数的优点是逻辑简单明了,缺点是调用过深会导致栈溢出。

  2、递归调用栈溢出的方法是栈溢出问题,实际上尾递归与循环效果相同。

  3、将循环视为一种特殊的尾递归函数也是可以的。

python培训之防止栈溢出的解决

  实例

  def fact(n):

  return fact_iter(n, 1)

  def fact_iter(num, product):

  if num == 1:

  return product

  return fact_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学习指路:请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线