該文章適合細(xì)讀,有挺多細(xì)節(jié)的。
進度條:能表示一個程序的進度,耗時情況
下面樓主給大家?guī)斫裉斓膶W(xué)習(xí),怎么制作文本進度條,學(xué)會了記得給自己的程序加上進度條,高大上一點。代碼復(fù)制粘貼可以運行。
一、多行進度條
#簡單開始
import time
scale=10#初始為10
print("------執(zhí)行開始------")
for i in range(scale+1):#因為遍歷不能等于10,所以要+1,總的等于10
a,b="**"*i,".."*(scale-i)#進度條**越來越多,..越來越少
c=(i/scale)*100#求出每一次i的占比,因為i數(shù)量會變大,所以占比會越來越大
print("%{:^3.0f}[{}->{}]".format(c,a,b))#將結(jié)果打印出來,中間加一個箭頭
time.sleep(0.1)
print("------執(zhí)行結(jié)束------")
1、a,b="**"*i,".."*(scale-i):進度條【**】越來越多,【..】越來越少,隨著遍歷,直到【..】最終變成沒有
2、c=(i/scale)*100:求出每一次i的占比,因為i數(shù)量會變大,所以占比會越來越大
3、print("%{:^3.0f}[{}->{}]".format(c,a,b)):將結(jié)果打印出來,中間加一個箭頭,用了槽{},format()函數(shù)等應(yīng)用
結(jié)果圖:
多行進度條
二、單條動態(tài)刷新
#單行動態(tài)刷新
import time
print("------執(zhí)行開始------")
for i in range(101):
print("r{:3}%".format(i),end="")
time.sleep(0.05)
print("------執(zhí)行結(jié)束------")
這個程序相對簡單,用到r,該轉(zhuǎn)義符把輸出的字,不換行,移動到句首。不會像上一個程序一樣,每行都有數(shù)據(jù)。
結(jié)果圖:
單條動態(tài)刷新
三、帶刷新的文本進度條
#帶刷新的文本進度條
import time
scale=50#總量,和第一個類似
print("執(zhí)行開始".center(scale//2,"-"))#產(chǎn)生這個-----------執(zhí)行開始----------
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"+"執(zhí)行結(jié)束".center(scale//2,"-"))
第三種的進度條比較常用
結(jié)果圖:
帶刷新的文本進度條
這種進度條應(yīng)該很熟悉了吧?其他花里胡巧的進度條估計也是按著這樣的原理生成的??烊ソo你的程序添加進度條吧~