gpt4 book ai didi

python - 如何在 python 中取得进展?

转载 作者:行者123 更新时间:2023-11-28 20:02:26 24 4
gpt4 key购买 nike

我需要在 Python 中制作一个在 x% 处打印的进度条。
因此,例如,如果该值为 62%,是否有办法打印出这样的内容?

▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯ 62%

或者,例如,23%

▮▮▮▮▮▮▮▮▮▮▮▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯ 23%

最佳答案

使用 print()end 参数的纯解决方案:

print() 语句允许您指定在调用结束时打印最后的 chars。默认情况下,end 设置为 '\r\n',这是一个回车符和换行符。这会将“光标”移动到下一行的开头,这在大多数情况下都是您想要的。

但是对于进度条,您希望能够在进度条上打印回来,这样您就可以更改当前位置和百分比,而最终结果不会在多行上看起来很糟糕。

为此,我们需要将 end 参数设置为一个回车符:'\r'。这将使我们的当前位置回到行首,以便我们可以在进度条上重新打印

为了演示这是如何工作的,我编写了这个简单的小代码,每 0.5 秒将进度条增加 1%。代码的关键部分是 print 语句,因此您可能会将这部分带走并放入主脚本中。

import time, math

bl = 50 #the length of the bar
for p in range(101):
chars = math.ceil(p * (bl/100))
print('▮' * chars + '▯' * (bl-chars), str(p) + '%', end='\r')
time.sleep(0.5)

(注意,此处使用的字符是从您的问题 ('▮, ▯') 中复制的,对我来说,它们没有打印到控制台,在这种情况下,您需要将它们替换为其他字符,例如:' █' 和 '.')

这段代码做你想做的事情并稳步增加百分比,下面是一个例子,说明当 p = 42 时它的样子:

▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯ 42%

关于python - 如何在 python 中取得进展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46141302/

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