需求分析:
问题分析:
文本进度条
1.采用字符串方式打印可以动态变化的文本进度条
2.进度条需要能在一行中逐渐变化。
如何获得文本进度条的变化时间?
1.采用sleep()模拟一个持续的进度。
2.似乎不那么难
”文本进度条“简单的开始
实例代码如下:
import time#采用import函数调用time库 scale=10#变量scale=10,这样子文本进度条的宽度为10 print("{:-^20}".format('执行开始')) for i in range(scale+1):#循环次数为scale+1次,即0-10.即0%-100%。因为他的输出格式里面有两类填充字符,所以我们需要分类别进行循环。 a='*'*i #n*x或x*n: 复制n次字符串x,即复制i次字符串'*',i值为临时变量,用于保存每次循环访问的目标对象中的元素,即从0开始。 # 同时'*'*i指当前的百分比所表达的信息。即%几有几个*。 b='.'*(scale-i)#文本进度条的宽度为scale=10,里面除了字符*之外剩下的即为.,所以通过循环的改变,*之外即为.。与当前剩余的进度条的比例的乘积。 c=(i/scale)*100#即进度条所进行的进度的百分比 print("{:^2.0f}%[{}->{}]".format(c,a,b))#2.0f与2f输出的结果不一样,会有精度的影响。 time.sleep(0.1)#time库的sleep函数,让程序去休眠或产生一定的时间 print("{:-^20}".format('执行结束'))
红色字体为代码注释
运行界面如下所示: