python使用进度条设计函数优化带刷新的文本进度条

使用进度条设计函数优化带刷新的文本进度条

要求:要求:修改如下代码的进度条设计函数,适当降低开始阶段的进展速度,适当加快末尾阶段的进展速度,给用户带来更快、更舒适的体验。


关键:

1、第一组是原始组,第二组是对照组,对照组用的函数为

y=(x+(1-x)*0.8)^2

2、如果自己要修改函数,应当把46也修改了,保证图形可以完全覆盖。
主要是参数46比较难改,要通过自己调试寻找。

import time
scale = 30 #设置打印次数为30
print("执行开始".center(scale//2,'-'))  #返回宽度为30居中字符串

# 第一组
start = time.perf_counter() #统计时间的函数,单位为秒
for i in range (scale + 1):
    a = '*'* i  #设置进度条符号的个数,逐渐增加
    b = '.'*(scale - i) #设置进度条符号,逐渐减少
    c = (i/scale)*100  #设置进度条相关的百分比
    dur = time. perf_counter () - start  #代码运行时间
    #3.0f指输出前三位的整数,“.”后面是指你要保留多少位的小数点。
    print(" \r{:^3.0f}%[{}{}]{:.2f}s".format(c,a,b,dur),end=' ')
    time.sleep (0.2)  #是time库里的休眠函数,括号内为休眠的时间s
print(" \n"+"执行结束".center(scale//2,'-'))
print();
#第二组
print("执行开始".center(scale//2,'-'))  #返回宽度为30居中字符串
start = time.perf_counter() #统计时间的函数,单位为秒
for i in range(scale + 1):
    x = '▊' * int((i + (1 - i) * 0.8) ** 2)
    y = '.' * abs(46 - int((i + (1 - i) * 0.8) ** 2))  # 此处利用函数y=(x+(1-x)*0.8)^2
    c = (i / scale) * 100  # 设置进度条相关的百分比
    dur = time.perf_counter() - start  # 代码运行时间
    # 3.0f指输出前三位的整数,“.”后面是指你要保留多少位的小数点。
    print(" \r{:^3.0f}%[{}{}]{:.2f}s".format(c,x,y, dur),end=' ')
    time.sleep(0.2)  # 是time库里的休眠函数,括号内为休眠的时间s
print(" \n" + "执行结束".center(scale // 2, '-'))

写的不好,还请大家多多指正。

  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值