Python实例——进度条制作

Python小练习—进度条制作

一、 多行刷新动态效果
(1)效果展示
**在这里插入图片描述**
(2)代码部分

import time
scale = 10
print("------执行开始------")
for i in range(scale + 1):
    a,b = '**'*i,'..'*(scale - i)
    c = (i/scale)*100
    print("%{:^3.0f}[{}->{}]".format(c,a,b))
    time.sleep(0.1)
print("------执行结束------")

(3) 代码分析

  1. 主体元素只有三个:分别是a,b,c
  2. 循环里的第一句为填充语句,
  3. 注意在用format语句时一定要一一对应

二、 单行刷新动态效果
(1)效果展示
在这里插入图片描述
(2) 代码部分

scale = 100
print("------执行开始------")
for i in range(scale + 1):
    print("{:4}%".format(i),end = '')
print()
time.sleep(0.05)
print("------执行结束------")

(3) 代码分析

  1. python里的print()函数默认自动换行,如果取消自动换行可以使用end=‘ ’
  2. 为了减缓程序执行的时间,这里引入time.sleep()函数是效果可见

三、 高级别的用户体验效果
(1)效果展示
在这里插入图片描述

(2)代码部分

import time
scale = 50
print("执行开始".center(scale//2,'-'))
t = time.perf_counter()
for i in range(scale + 1):
    a = '*' * i
    b = '-' * (scale - i)
    c = (i/scale) * 100
    t -=time.perf_counter()
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,-t),end = '')
    time.sleep(0.05)
print("\n"+"执行结束".center(scale//2,'-'))

(3) 代码分析

  1. time.perf_counter()函数用来计算当前的时间值,有些地方可能用的是time.clock()方法,但是time.clock在Python3.3废弃,在Python3.8中被移除,如果使用clock的话回报错,所以建议使用per_counter()函数
  2. 执行开始的那一句是控制输出的样式,宽度为 50//2,即 25,汉字居中,两侧填充 -
  3. \r是回车符,\n是换行符
  4. 因为循环里用了end = ‘ ’,所以打印“执行结束”的时候不会自动换行,所以这里用字符连接符‘+’进行输出并换行
  5. 在此提醒,使用format的时候前后一定要对应上,要不直接编个号,防止弄错
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值