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

这是中国大学mooc的python课上老师留的作业,通过看这位同学的代码https://blog.csdn.net/qq_45960449/article/details/124346719?spm=1001.2014.3001.5502,我将字母c的代码改了下,可以明显看出c会随着速度不一样而变得不一样。欢迎大家一起交流哦,谢谢!

在这里插入代码片
```#文本进度条
import time
print("执行开始".center(20,"-"))
scale=30   #文本进度条长度为30
f=0
start=time.perf_counter()
for i in range(scale+1):
    f=int(pow((i+(1-i)/2),8)/111053520)
    #i=30的时候代入函数f=pow((i+(1-i)/2),8)=3331605615,为了让最后文本进度条长度是30,所以3331605615/111053520=30
    a='*'*f
    b='-'*(scale-f)
    c=(f/scale)*100
    dur=time.perf_counter()-start
    print("\r{:3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
    time.sleep(0.2)
print("\n"+"执行结束".center(20,"-"))


你可能感兴趣的:(python)