进度条设计
下面图是来自:https://blog.csdn.net/CruelMeng/article/details/133870700?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171081250516800226547922%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171081250516800226547922&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-2-133870700-null-null.142^v99^pc_search_result_base1&utm_term=文本进度条python代码&spm=1018.2226.3001.4187
我的代码
"""多行刷新进度条"""
import time
count = 10
print('-'*6 + '执行开始' + '-'*6)
for i in range(count+1): # 0-11 -> 0-10 循环次数
星 , 点 = '*' * i , '.' * int(count-i) # 循环一次:星星变多,点点变少
number = (i/count) * 100 # 百分比数
print('{:^3.0f}%[{}->{}]'.format(number,星,点)) # {:^3.0f} 格式化输出三位数
time.sleep(0.2)
print('-'*6 + '执行结束' + '-'*6)
解析:
import time
:导入了Python的time模块,用于控制程序的执行时间。count = 10
:设置了一个变量count
,表示进度条的总长度为10个单位。print('-' * 10 + '执行开始' + '-' * 10)
:打印出一行分隔符和"执行开始"的提示信息。for i in range(count + 1):
:使用循环来模拟进度条的更新过程。循环变量i
从0到10,共进行11次迭代。星, 点 = '**' * i, '..' * int(count - i)
:根据当前迭代次数i
,生成两个字符串星
和点
。星
由连续的*
组成,长度逐渐增加;点
由连续的.
组成,长度逐渐减少。number = (i / count) * 100
:计算当前的进度百分比。将迭代次数i
除以总长度count
得到一个小数,再乘以100得到百分比数。print('{:^3.0f}%[{}->{}]'.format(number, 星, 点))
:使用格式化字符串打印进度条。{:^3.0f}
表示将百分比数居中对齐并保留整数部分,宽度为3个字符。[{}->{}]
表示用星
和点
填充进度条。time.sleep(0.2)
:在每次迭代之间暂停0.2秒,模拟任务的执行过程。print('-' * 10 + '执行结束' + '-' * 10)
:打印出一行分隔符和"执行结束"的提示信息。
这段代码通过循环和格式化输出的方式,实现了一个简单的进度条效果,可以用于展示任务的执行进度。