【发布时间】:2020-01-18 06:16:57
【问题描述】:
我有一个任务要监控进度;这是在while 循环中运行的蛮力 np 问题。
对于循环的前 x(未知数)次迭代,它会发现未知的额外数量的未来组合(每个循环很多),最终它通过解决方案前进到解决难题的点(每个循环都是一个解决方案)比它找到新的可能谜题要快,它最终会解决它找到的最后一个谜题(100%)。
我创建了一些虚假的增长来提供可重复的示例:
from tqdm import tqdm_notebook as tqdm
growthFactorA = 19
growthFactorB = 2
prog = tqdm(total=50, dynamic_ncols=True)
done = []
todo = [1]
while len(todo)>0:
current = todo.pop(0)
if current < growthFactorA:
todo.extend(range(current+1, growthFactorA+growthFactorB))
done.append(current)
prog.total = len(todo) + len(done)
prog.update()
您会看到总数最终停止在389814,起初循环解决谜题的速度增长得更快,但在某个点系统停止增长。
在运行算法之前无法计算迭代次数。
蓝条仅限于初始化时使用的原始总量。我的目标是实现类似于初始总数设置为 389814 的情况,在增长期(试验早期)进度条似乎会随着总数的增加而向后移动或不移动。
【问题讨论】:
标签: python-3.x progress-bar tqdm