完整代码段:
import time #incomplete_sign = 50 # .的数量
print('='*23+'开始下载'+'='*25)
for i in range(incomplete_sign + 1):completed = "*" * i # 打印已完成incomplete = "." * (incomplete_sign - i) # 打印未完成percentage = (i / incomplete_sign) * 100 # 计算百分比print("\r{:.0f}%[{}{}]".format(percentage, completed, incomplete), end="")time.sleep(0.5)
print("\n" + '='*23+'下载完成'+'='*25)
分段解释:
import time
#引入时间模块
incomplete_sign = 50
#定义“ . ”的数量/循环的次数
print('='*23+'开始下载'+'='*25)
#打印开始下载![]()
for i in range(incomplete_sign + 1):
#循环 i 从 0 开始到 incomple_sing + 1 ----------具体range用法看文末
completed = "*" * i
# 打印已完成
incomplete = "." * (incomplete_sign - i)
# 打印未完成
percentage = (i / incomplete_sign) * 100
# 计算百分比
print("\r{:.0f}%[{}{}]".format(percentage, completed, incomplete), end="")
#动态输出
(\r 在这里表示默认输出的内容返回到第一个指针,后面的内容会覆盖掉前面的内容)
(其中三个{}是占位符,第一个{}中对浮点数进行格式化,保留0为小数)
time.sleep(0.5)
#延迟打印
print("\n" + '='*23+'下载完成'+'='*25)
#打印下载完成
实现结果:

TOP:
对于上面提到的循环 range :
语法格式
range(start, stop [,step])
参数介绍:
-
start 指的是计数起始值,可以省略不写,默认是 0;
-
stop 指的是计数结束值,但不包括 stop ;
-
step 是步长,默认为 1,不可以为 0 。
(尤其注意:如果是三个参数,那么最后一个参数才表示为步长。)
ps1:只有一个参数:表示0到这个参数内的所有整数,不包含参数本身

![[Python] 实现文本进度条](https://img-blog.csdnimg.cn/177e8d6701214e4798654baf044bb76c.gif#pic_center)














