python实现简单进度条-time库
先立好flag,人生苦短,我要学python!最近开始系统学习python,刚碰到time库实现简单进度条的模仿,觉得很有趣,就决定发出来共同学习下。
效果如下
进度条的实现可以简单理解为print函数在打印进度条时,不换行,而是不断刷新这一行打印的数据,进而实现进度条增长的视觉效果。
print("已下载:\r{:3.0f}%[{}-->{}]用时{}s".format(i,a,b,c),end="")
这里让print函数不断在同一行刷新就是在print函数立加一个“\r”,作用就是让打印光标始终停留在该行的首位。
代码主要是使用了time库,time.perf_counter()是获取当前cpu基于某指数的时间,主要是为了测量两次调用这行代码之间的时间
结果中时间不为10s,是因为加上了两次调用这个函数之间,cpu执行其余代码的时间
time.sleep(0.1)就是让程序每次执行到这里时停留0.1s完整代码如下:import time
scale=50
print("开始下载".center(scale//2,"-"))
star=time.perf_counter()
for i in range(101):
a = '*' * i
b = '.' * (100- i)
c=time.perf_counter()-star
print("已下载:\r{:3.0f}%[{}-->{}]用时{}s".format(i,a,b,c),end="")
time.sleep(0.1)
t=time.perf_counter()-star
print("\n"+"下载完成,总用时:{}".format(t).center(scale//2,"-"))
大佬可以随意指出不足之处,也希望和我一样的小白能激起python的兴趣。
https://github.com/WoLpH/python-progressbar
https://tqdm.github.io/
这两个库不错 yangaming 发表于 2022-1-11 16:30
恩,再加个输入三次错误让明天再来.
搞定啦
n = 1
user = '123'
pwd = '456'
while n < 4:
n1 = input("请输入用户名: ")
n2 = input("请输入密码: ")
if user == n1 and pwd == n2:
print("登录成功")
break
else:
print("用户名或者密码错误,你还有",3-n,"次机会")
n = n + 1
if n == 4:
print("登录次数超过3次,登录失败") 谢谢楼主分享,超实用,对我这种没什么耐性的人来说就相当于书签 谢谢分享学习了 希望以后能看的懂
向大家学习,偶到现在还是PY小白。 感谢分享 涛之雨 发表于 2022-1-10 07:50
https://github.com/WoLpH/python-progressbar
https://tqdm.github.io/
谢谢版主分享 老哥从MOOC学的?我在那也学了这个案例~ 蛮好的,小巧