文字進度條基礎
採用字串方式列印可以動態變化的文字進度條,進度條需要能在一行中逐漸變化
要求如下:
(1) 採用sleep()模擬一個持續的進度,獲得文字進度條的變化時間;
(2) 通過print()函式實現單行動態重新整理,在print()函式中更換引數end的預設值為’’,每次使用print()函式輸出時不能換行;
(3) 要能回退:列印後游標到之前的位置 \r。
#引入時間庫
import time
#規定寬度
scale = 50
#開始時間
start = time.perf_counter()
#開始執行 居中(寬度,填充字元)
print("開始執行".center(scale//2,'-'))
#開始迴圈進行模擬進度條 要顯示100%
for i in range(scale+1):
#計算百分比
a = i/scale * 100
#表示左側已經執行的字串
b = i * '*'
#表示右側未執行的字串
c = (scale-i)*'.'
#表示進行時間
d = time.perf_counter() - start
#列印結果 並移動游標到最前不換行使得結果可重新整理 顯示最新進度
print("\r{:3.0f}%[{}->{}]{:.2f}".format(a,b,c,d),end="")
#模擬下載進度
time.sleep(0.1)
#結束列印結束 記得換行
print("\n"+"結束執行".center(scale//2,'-'))