\r 表示将光标的位置回退到本行的开头位置,清除之前的打印信息,可以达到刷新、重置的效果import time#导入所需要的包print("="*25 + "开始下载" + "="*25)s =0i = 1while i <= 100: i += 1 p = 49 - s if i % 2 == 0: if s <= 50: s+=1 print(f'\r{i}%[',"*"*s + "·".
采用字符串方式打印可以动态变化的
文本
进度条
,
进度条
需要能在一行中逐渐变化。
要求如下:
(1) 采用sleep()模拟一个持续
简单
的开始
print()函数在输出结尾处会自动生成一个‘\n’,即换行符,从而让光标移动到下一行行首
import time #引入time函数库
scale = 10
print("------执行开始------")
for i in range(scale+1):
a, b = '**' * i,'..' * (scale - i)
c = (i/scale)*100
2. 然后,定义一个函数,用于打印
进度条
。该函数需要接收两个参数:
进度条
长度和当前进度。
3. 在函数中,使用for循环来打印
进度条
。每次循环,先打印
进度条
左侧的方括号,然后根据当前进度计算
进度条
中间的空格数,再打印相应数量的空格,最后打印
进度条
右侧的方括号。
4. 在主程序中,调用该函数,并使用time.sleep()函数来控制
进度条
的速度。
下面是示例代码:
import time
def progress_bar(length, progress):
left = '['
right = ']'
space = ' '
percent = progress / length
count = int(percent * 100)
bar = space * (length - count)
print(left + space * count + bar + right, end='\r')
for i in range(101):
progress_bar(50, i)
time.sleep(.1)