import time as t
导入时间库
scale = 10
定义一个变量scale
,用于表示进度条的总长度为10。
print("执行开始".center(scale, "-"))
输出一个居中且长度为scale
的字符串"执行开始",并用"-"字符填充两侧以达到指定长度。
start = t.perf_counter()
记录当前时间作为起始时间。
for i in range(scale + 1)
循环迭代0
到scale
之间的数值。
a = "*" * i
根据当前循环的索引i
生成长度为i
的"*"字符串,用于表示已完成部分。
b = "." * (scale - i)
生成长度为(scale - i)
的"."字符串,用于表示未完成部分。
c = (i / scale)*100
计算完成度百分比,即当前进度占总进度的百分比。
dur = t.perf_counter() - start
计算从开始到当前的时间间隔,用于显示已经经过的时间。
print("\r{:3.0f}%[{}>{}]{:.3f}s".format(c,a,b,dur),end="")
格式化输出进度条信息,包括完成度百分比、已完成部分、未完成部分以及经过的时间,并在同一行中打印。
t.sleep(1)
暂停1秒,模拟进度更新等待时间。
print()
换行输出,用于显示进度条更新后的最终状态。
print("执行结束".center(scale,"-"))
输出一个居中且长度为scale
的字符串"执行结束",并用"-"字符填充两侧以达到指定长度。
完整代码:
import time as t
scale = 10
print("执行开始".center(scale, "-"))
start = t.perf_counter()
for i in range(scale + 1):
a = "*" * i
b = "." * (scale - i)
c = (i / scale)*100
dur = t.perf_counter() - start
# c = int((i / scale) * 100)
print("\r{:3.0f}%[{}>{}]{:.3f}s".format(c,a,b,dur),end="")
# print("{:3.0f}%[{}>{}]".format(c, a, b))
t.sleep(1)
print()
print("执行结束".center(scale,"-"))
结果: