def f1(t):
if t < 0:
return 0
result = 0
result = 1.5 * f2(t-1) + 3.5 * f1(t-1)
return result
def f2(t):
if t < 0:
return 1
result = 0
result = 1.5 * f1(t-1) + 3.5 * f2(t-1)
return result
for i in range(10):
result = 0
result = f1(i) + f2(i)
print(result)
运行上面的代码需要花费很多时间。我想将 for 循环中每次迭代的 f1() 和 f2() 执行次数限制为 10 次,然后继续执行下一个 for 循环值。如何做到这一点?
最佳答案
我有时需要类似的方法来调试递归代码。一个非常简单的方法是在递归函数之外的作用域中声明变量。
iterations_f1 = 10
iterations_f2 = 10
然后在递归函数中临时添加一些逻辑,以便在满足迭代要求的情况下在另一个递归调用之前返回。
def f1(t):
global iterations_f1
iterations_f1 = iterations_f1 - 1
if iterations_f1 == 0:
return
# rest of funtion
...
关于python - 如何限制同时递归调用2个函数的次数? - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49086677/