考虑以下 Python3 代码:
def classic_fibonacci(limit: int) -> List[int]:
nums = []
curr, nxt = 0, 1
while curr < limit:
curr, nxt = nxt, nxt + curr
nums.append(curr)
return nums
def classic_fib_profiling():
for n in classic_fibonacci(limit=1000):
print(n, end=', ')
if __name__ == '__main__':
import timeit
timeit.timeit("classic_fib_profiling()", setup="from __main__ import classic_fib_profiling")
调用classic_fib_profiling()
会返回一个包含斐波那契数列的列表,该列表受限于limit
参数。
然而,使用timeit.timeit
调用它会导致解释器进入无限循环,永远不会停止。我无法通过调试或查找文档(和SO)找到解决方案。欢迎任何帮助。