python基础学习实例-文本进度条制作

涉及到time库的调用和字符串格式化

基本代码

from time import*
scale = 10
print("{:-^20}".format("执行开始"))
for i in range(scale+1):
    a='*'*i
    # 已有进度
    b='.'*(scale-i)
    # 未加载进度
    c=(i/scale)*100
    # 进度百分比
    print("{:^4.0f}%[{}{}]".format(c,a,b))
    sleep(1)
    # 休眠一秒
print("{:-^20}".format("执行结束"))

效果为

单行刷新

如果想要实现单行刷新,增加 \r,\n end 

代码如下

from time import*
scale = 10
print("{:-^20}".format("执行开始"))
for i in range(scale+1):
    a='*'*i
    # 已有进度
    b='.'*(scale-i)
    # 未加载进度
    c=(i/scale)*100
    # 进度百分比
    print("\r{:^4.0f}%[{}{}]".format(c,a,b),end = "")
    # end实现不换行,\r实现退回行首打印新信息
    sleep(1)
    # 休眠一秒
print("\n{:-^20}".format("执行结束"))
# \n实现最后一句话换行

效果如下

增加计时功能

from time import*
scale = 10
print("{:-^20}".format("执行开始"))
start = perf_counter()
# 开始计时
for i in range(scale+1):
    a='*'*i
    # 已有进度
    b='.'*(scale-i)
    # 未加载进度
    c=(i/scale)*100
    # 进度百分比
    gap = perf_counter()-start
    # 获取进度时间
    print("\r{:^4.0f}%[{}{}]{:.3f}s".format(c,a,b,gap),end = "")
    # end实现不换行,\r实现退回行首打印新信息
    sleep(0.2)
    # 休眠一秒
print("\n{:-^20}".format("执行结束"))
# \n实现最后一句话换行

效果如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值