【Python小白学习】文本进度条的制作

简单的开始

       多行,静态。

#TextProBarV1.py
import time

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))
    time.sleep(0.1)
print("------执行结束------")

单行动态刷新

       刷新:用后打印的字符覆盖掉之前的字符;

       不能换行:print()需要被控制;

       要能回退:打印后光标退回到之前的位置 \r。

#TextProBarV1.py
import time

for i in range(101):
   #end = ""使得print不换行
    print("\r{:3}%".format(i), end = "")
    time.sleep(0.1)
之所以出现这样的结果,是因为IDLE作为开发环境,把/r的功能屏蔽掉了❗
可以通过其他的编译环境运行上段程序~如下图:?
85%的时候

 

100%的时候✌

完整效果

#TextProBarV1.py
import time

scale = 50
print("执行开始".center(scale//2, "-"))
start = time.perf_counter()
for i in range(scale+1):
    a = '*' * i
    b = '.' * (scale-i)
    c = (i/scale) * 100
    dur = time.perf_counter() - start
   #end = ""使得print不换行
    print("\r{:3.0f}%[{}->{}]{:.2f}s".format(c, a, b, dur), end = "")
    time.sleep(0.1)
print("\n" + "执行结束".center(scale//2, '-'))
同样,因为是在IDLE中运行的,所以没有单行刷新的效果
这是老师视频演示的效果,在命令行中运行的

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值