gpt4 book ai didi

python - 在 Python 中不使用全局变量跟踪递归调用的次数

转载 作者:太空狗 更新时间:2023-10-30 01:39:55 27 4
gpt4 key购买 nike

如何在 Python 中不使用全局变量来跟踪递归调用的次数。例如,如何修改以下函数来跟踪调用次数?

def f(n):
if n == 1:
return 1
else:
return n * f(n-1)

print f(5)

最佳答案

这里有一个不使用全局的巧妙技巧:您可以将计数器存储在函数本身中。

def f(n):
f.count += 1
if n == 1:
return 1
else:
return n * f(n-1)

之后:

>>> f.count = 0 # initialize the counter
>>> f(5)
120
>>> f.count
5
>>> f(30)
265252859812191058636308480000000L
>>> f.count
35

无论如何,这处理了“所有调用”的情况。

关于python - 在 Python 中不使用全局变量跟踪递归调用的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14513717/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com