Python入门程序练习题-文本进度条

    程序来自BITmooc 此程序涉及到time里的一些函数和print的更深一步的用法 题目说明: 采用字符串方式打印可以动态变化的文本进度条‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬,进度条需要能在一行中逐渐变化‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬ 要求如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

(1) 采用 sleep() 模拟一个持续的进度,获得文本进度条的变化时间;‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

(2) 通过print()函数实现单行动态刷新,在print()函数中更换参数end的默认值为’’,每次使用print()函数输出时不能换行;‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

(3) 要能回退:打印后光标到之前的位置 。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

    代码
import time
scale=eval(input(please type the scale:))  #eval将str转为对应的数值类型
print(Start.center(50//2,-))    
 #center(x,-)表示居中,宽度为x,其余用-填充
start=time.perf_counter()
  #调用一次perf_counter(),从计算机系统里随机选一个时间点A
  #计算其距离当前时间点B1有多少秒。
  #当第二次调用该函数时,默认从第一次调用的时间点A算起,
  #距离当前时间点B2有多少秒。
  #两个函数取差,即实现从时间点B1到B2的计时功能。
for i in range(scale+1):
    a=i**
    b=.*(scale-i)
    c=(i/scale)*100
    dur=time.perf_counter()-start
    print(
{:>3.0f}%[{}->{}]{:.2f}s.format(c,a,b,dur),end=)
     #
用来在每次输出完成后,将光标移至行首
     #这样保证进度条始终在同一行输出,即在一行不断刷新的效果
     #{:^3.0f},输出格式为居中,占3位,小数点后0位,浮点型数,对应输出的数为c
     #第二个{},对应输出的数为a
     #第三个{},对应输出的数为b
     #{:.2f},输出有两位小数的浮点数,对应输出的数为dur
     #end=,用来保证不换行,不加这句默认换行
     #这个输出形式是需要记住的
    time.sleep(0.1)
     #在输出下一个百分之几的进度前,停止0.1秒
print(
+end.center(50//2,-))```
经验分享 程序员 微信小程序 职场和发展