#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2019/11/27 9:47
# @Author : liuhuiling

import time
'''
文本进度条
--  采用字符串方式打印可以动态变化的文本进度条
--  进度条需要能在一行中逐渐变化
--  采用sleep()模拟一个持续的进度

'''
scale = 10 #文本进度条宽度
print("------ 执行开始 ------")
for i in range(scale+1):
    a = "*" *i
    b = "." * (scale-i)
    c = (i/scale)*100  #进度百分比
    print("{:^3.0f}%[{} -> {}]".format(c,a,b))  # {:^3.0f} ^居中 3宽度 .0f 不要小数
    time.sleep(0.1)
print("------ 执行结束 ------")
#print("{:^3.0f}%[{} -> {}]".format(c,a,b)) 解析，{:^3.0f} ^居中 3宽度 .0f 不要小数
# 因为百分比数字是从0-100 10递增，所以宽度为3，定义居中3宽度后，0 会在两边加空格，10之类的会在左边加空格
#看起来比较整齐，有因为c会有小数，所以 定义.0f表示不要小数

'''
结果：
------ 执行开始 ------
 0 %[ -> ..........]
10 %[* -> .........]
20 %[** -> ........]
30 %[*** -> .......]
40 %[**** -> ......]
50 %[***** -> .....]
60 %[****** -> ....]
70 %[******* -> ...]
80 %[******** -> ..]
90 %[********* -> .]
100%[********** -> ]
------ 执行结束 ------
'''