gpt4 book ai didi

python - 是否有类似 TQDM 的模块用于创建递归进度条?

转载 作者:行者123 更新时间:2023-12-04 01:24:38 25 4
gpt4 key购买 nike

我正在用 python 编写分支定界算法,并试图有效地显示进度。该算法使用递归,我想不出任何方法让它迭代。我想知道是否有类似 tqdm 的递归函数模块,或者至少有一种方法可以用递归函数实现进度条?例如,如果我在 python 中使用 tqdm 模块编写迭代阶乘函数,我会这样做:

import tqdm

def factorial(n):
end_product = 1
for i in tqdm(range(1, n)):
end_product *= i
return end_product

我将如何在这样的递归函数上实现进度条:

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

progress_bar(factorial(1000))

最佳答案

一种解决方案是使用 total= 初始化进度条参数,然后调用 .update()每次递归调用中的方法。

类似这样的东西:

from time import sleep
from tqdm import tqdm

def factorial(n, bar):
bar.update(1)
sleep(0.01) # slow-down things a little bit
if n == 1:
return 1
else:
return n * factorial(n-1, bar)

n = 500
bar = tqdm(total=n)
factorial(n, bar=bar)

关于python - 是否有类似 TQDM 的模块用于创建递归进度条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62109160/

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