【发布时间】:2020-08-06 00:21:01
【问题描述】:
我在下面有一个函数,它将一个值作为输入,并确定一个 new_value(new_value 将始终小于 original_value)。如果 new_value 和 original_value 之间的差异小于指定的容差,则返回 new_value。如果容差更大,则以 new_value 作为参数再次调用该函数,以计算 new_new_value。 根据输入的 original_value,有时永远不会满足公差条件。 如何使函数在一定次数的迭代后停止迭代?我试图在 else 之后输入 count=0,count+=0,但这不起作用,因为每次再次调用该函数时它都会返回零。谢谢
def calc_value(original_value):
# equations to calculate new_value
if original_value - new_value < tolerance:
return new_value
else calc_value(new_value)
【问题讨论】:
-
这具体取决于您在已注释掉的部分中所做的工作。
-
@jfaccioni 怎么来的?有什么方法可以计算函数 calc_value 被调用的次数,并在一定次数后返回一个 new_value?
-
@Anna 你有点需要
static vairables。看我的回答
标签: python loops stopiteration