繁体   English   中英

使用条件的 while 循环的进度条以及 - Python 3

[英]Progress bar for a while loop that uses conditionals and also for - Python 3

我希望有一个进度条在 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

我知道我的超时是由一个变量定义的,但它仅限于我将通过这个参数提供的东西,但是我如何制作一个进度条来一直计算这个?

而且,一旦计算完成或时间用完,我如何打破进度条?

谢谢

在我们解决之前,您当前的代码存在一些问题。

  1. 列表 a 具有字符串“1”、“2”和“3”。 但是,您将添加为 integer 并检查 integer 值。
  2. 变量 'i' 也将是一个字符串。 所以你不能将 integer 1 添加到 i。 它会失败。

你想重新访问代码吗?

无法添加评论,因为我没有足够的积分来添加评论,因此使用答案部分为您提供反馈。

进入你的答案,除非你使用图形界面,否则没有简单的方法来提供一个栏。 显示您正在进步的一种方法是每次 go 进入循环时打印出一个字符串。

例如,你可以有一个这样的 while 循环:

x = 0
while True:
    x +=1
    print ('=', end = '')
    if x > 20: break

每次代码循环时,output 都会打印一个 =。 您可以继续打印字符串 '=' 或 '.' 每次你进入一个过程并从中摆脱出来。 end = '' 将确保打印语句保持在同一行。 所以它最终会看起来像一个酒吧。

根据我对 python 的有限知识,这是我能达到的最接近的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM