该文章适合细读,有挺多细节的。
进度条:能表示一个程序的进度,耗时情况
下面楼主给大家带来今天的学习,怎么制作文本进度条,学会了记得给自己的程序加上进度条,高大上一点。代码复制粘贴可以运行。
一、多行进度条
#简单开始
import time
scale=10#初始为10
print("------执行开始------")
for i in range(scale+1):#因为遍历不能等于10,所以要+1,总的等于10
a,b="**"*i,".."*(scale-i)#进度条**越来越多,..越来越少
c=(i/scale)*100#求出每一次i的占比,因为i数量会变大,所以占比会越来越大
print("%{:^3.0f}[{}->{}]".format(c,a,b))#将结果打印出来,中间加一个箭头
time.sleep(0.1)
print("------执行结束------")
1、a,b="**"*i,".."*(scale-i):进度条【**】越来越多,【..】越来越少,随着遍历,直到【..】最终变成没有
2、c=(i/scale)*100:求出每一次i的占比,因为i数量会变大,所以占比会越来越大
3、print("%{:^3.0f}[{}->{}]".format(c,a,b)):将结果打印出来,中间加一个箭头,用了槽{},format()函数等应用
结果图:
多行进度条
二、单条动态刷新
#单行动态刷新
import time
print("------执行开始------")
for i in range(101):
print("r{:3}%".format(i),end="")
time.sleep(0.05)
print("------执行结束------")
这个程序相对简单,用到r,该转义符把输出的字,不换行,移动到句首。不会像上一个程序一样,每行都有数据。
结果图:
单条动态刷新
三、带刷新的文本进度条
#带刷新的文本进度条
import time
scale=50#总量,和第一个类似
print("执行开始".center(scale//2,"-"))#产生这个-----------执行开始----------
t=time.perf_counter()
for i in range(scale+1):#50不能打印出来,要加+1
a="*"*i
b="'"*(scale-i)
c=(i/scale)*100#百分比进度 50%那种
t=time.perf_counter()#消耗时间
print("r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,t),end="")#总的进度条,和第二种类型
time.sleep(0.05)
print("n"+"执行结束".center(scale//2,"-"))
第三种的进度条比较常用
结果图:
带刷新的文本进度条
这种进度条应该很熟悉了吧?其他花里胡巧的进度条估计也是按着这样的原理生成的。快去给你的程序添加进度条吧~