我想要一个进度条,在while循环之前开始,并以它结束,如下所示:
a = [ '1', '2', '3', '4', '5', '6'] ## This can be 10, 15, 1000 elements b = 5 c = [] timeout = time.time() + 60*b while True: for i in a: if len(a) < 2: print('Ok') elif len(a) >= 2: a.remove(i) time.sleep(10) if len(a) == 2 : print('Achieved results') break elif time.time() > timeout: print('Time ran out') break else: print('Still waiting calculations') pass
我知道我的超时是由一个变量定义的,但它仅限于我将通过该参数提供的内容,但我如何为所有计算时间制作进度条?
此外,一旦计算按要求完成或时间用完,我如何打破进度条?
谢谢
在我们解决之前,您当前代码的一些问题。
- 列表a具有字符串'1'、'2'和'3'。但是,您要将then作为整数进行添加,并检查整数值
- 变量"i"也是一个字符串。所以你不能把整数1加到i上。它会失败的
是否要重新访问代码?
无法添加评论,因为我没有足够的分数添加评论,所以使用回答部分为您提供反馈。
进入你的答案,没有简单的方法来提供一个酒吧,除非你使用图形界面。显示进度的一种方法是,每次进入循环时都打印出一个字符串。
例如,您可以有一个while循环,如下所示:
x = 0
while True:
x +=1
print ('=', end = '')
if x > 20: break
每次代码经过循环时,输出都会打印一个=。您可以继续打印字符串"="或"。"每次进入流程并退出流程时。end=''将确保print语句保持在同一行。所以它最终会看起来像一个酒吧。
基于我对python的有限了解,这是我最接近的。