Python入门习题4.文本进度条

例4.1.设置一组文本进度条,使之运行效果如下:

--------执行开始--------
% 0 [->**********]
%10 [*->*********]
%20 [**->********]
%30 [***->*******]
%40 [****->******]
%50 [*****->*****]
%60 [******->****]
%70 [*******->***]
%80 [********->**]
%90 [*********->*]
%100[**********->]
--------执行结束--------

 1 #文本进度条1.py
 2 import time
 3 print("{0:-^20}".format('执行开始'))
 4 scale = 10
 5 for i in range(scale+1):
 6     a = '*' * i
 7     b = '*' * (scale - i)
 8     c = (i/scale)*100
 9     print("%{:^3.0f}[{}->{}]".format(c,a,b))
10     time.sleep(0.5)
11 print("{0:-^20}".format('执行结束'))

在此讲解time库的使用:

获取时间:time() 得到时间戳;  

     ctime()得到时间的字符串表达形式;

     gmtime()得到时间的程序表达形式。

时间格式化:strftime(tpl ,ts ) 其中tpl是格式化模板字符串,ts是计算机内部时间类型变量

        如>>>t = time.gmtime()

             time.strftime("%Y-%m-%d   %H:%M:%S",t)

       strptime(str,tpl)

程序计时:perf_counter() 返回精确的时间计数值。

     sleep(s)休眠时间,s为秒

例4.2在命令提示符窗口实现单行动态刷新,进度条运行效果如下

100%>>>

>>> import time
>>> for i in range(101):
...     print("\r{:2}%".format(i),end="")
...     time.sleep(0.05)
...

例4.3实现带刷新的文本进度条

 1 #TextProBarV3.py
 2 import time
 3 scale = 50
 4 print("执行开始".center(scale//2,"-"))
 5 start = time.perf_counter()
 6 for i in range(scale + 1):
 7     a = "*" * i
 8     b = '.' * (scale - i)
 9     c = (i/scale)*100
10     dur = time.perf_counter() - start
11     print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end="")
12     time.sleep(0.1)
13 print("\n"+"执行结束".center(scale//2,"-"))
-----------执行开始----------
100%[**************************************************->]5.03s
-----------执行结束----------




博客参考《Python程序设计基础》高等教育出版社(第2版) 嵩天,礼欣,黄天羽著 

推荐与上述教材配套的北京理工大学 嵩天,礼欣,黄天羽老师的MOOC

转载于:https://www.cnblogs.com/runningCsnail/p/10453451.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值