• 文本进度条


    文本进度条分析

    1.1 文本进度条

    安装软件和加载某些数据看到的进度显示

    1.2 需求分析

    • 采用字符串方式打印可以动态变化的文本进度条
    • 进度条需要能在一行中逐渐变化

    1.3问题分析

    如何获得文本进度条的变化时间?
    • 采用sleep()模拟一个持续的进度

    二文本进度条的简单开始

    2.1 简单的开始

    # 定义一个值
    count = 100
    # 打印提示信息
    print("-------开始执行-------")
    # 让上面定义的值循环并且加一
    for i in range(count + 1):
        # print(i)
    # a为#号并且随着变量i变化
        a = "#" * i
    # b为.并且随着定义的值除以2后减变量i   
        b = "." * (count//2 - i)
    # c为i除以定义的值再成以100
        c = (i / count) * 100
        # print(c)
    #打印abc的值并且以百分号形式进度条显示(2f是保留两位)
        print(f"[{a}->{b}]{c:.2f}% ")
    # 设置睡眠时间
        time.sleep(0.1)
        # print(b)
    # 打印结束信息
    print("-------执行结束-------")
     
    得到的结果为
     
    -------开始执行-------
    [->..................................................]0.00%
    [#->.................................................]1.00%
    [##->................................................]2.00%
    [###->...............................................]3.00%
    [####->..............................................]4.00%
    [#####->.............................................]5.00%
    [######->............................................]6.00%
    [#######->...........................................]7.00%
    [########->..........................................]8.00%
    [#########->.........................................]9.00%
    [##########->........................................]10.00%
    [###########->.......................................]11.00%
    [############->......................................]12.00%
    [#############->.....................................]13.00%
    [##############->....................................]14.00%
    [###############->...................................]15.00%
    [################->..................................]16.00%
    [#################->.................................]17.00%
    [##################->................................]18.00%
    [###################->...............................]19.00%
    [####################->..............................]20.00%
    [#####################->.............................]21.00%
    [######################->............................]22.00%
    [#######################->...........................]23.00%
    [########################->..........................]24.00%
    [#########################->.........................]25.00%
    [##########################->........................]26.00%
    [###########################->.......................]27.00%
    [############################->......................]28.00%
    [#############################->.....................]29.00%
    [##############################->....................]30.00%
    [###############################->...................]31.00%
    [################################->..................]32.00%
    [#################################->.................]33.00%
    [##################################->................]34.00%
    [###################################->...............]35.00%
    [####################################->..............]36.00%
    [#####################################->.............]37.00%
    [######################################->............]38.00%
    [#######################################->...........]39.00%
    [########################################->..........]40.00%
    [#########################################->.........]41.00%
    [##########################################->........]42.00%
    [###########################################->.......]43.00%
    [############################################->......]44.00%
    [#############################################->.....]45.00%
    [##############################################->....]46.00%
    [###############################################->...]47.00%
    [################################################->..]48.00%
    [#################################################->.]49.00%
    [##################################################->]50.00%
    [###################################################->]51.00%
    [####################################################->]52.00%
    [#####################################################->]53.00%
    [######################################################->]54.00%
    [#######################################################->]55.00%
    [########################################################->]56.00%
    [#########################################################->]57.00%
    [##########################################################->]58.00%
    [###########################################################->]59.00%
    [############################################################->]60.00%
    [#############################################################->]61.00%
    [##############################################################->]62.00%
    [###############################################################->]63.00%
    [################################################################->]64.00%
    [#################################################################->]65.00%
    [##################################################################->]66.00%
    [###################################################################->]67.00%
    [####################################################################->]68.00%
    [#####################################################################->]69.00%
    [######################################################################->]70.00%
    [#######################################################################->]71.00%
    [########################################################################->]72.00%
    [#########################################################################->]73.00%
    [##########################################################################->]74.00%
    [###########################################################################->]75.00%
    [############################################################################->]76.00%
    [#############################################################################->]77.00%
    [##############################################################################->]78.00%
    [###############################################################################->]79.00%
    [################################################################################->]80.00%
    [#################################################################################->]81.00%
    [##################################################################################->]82.00%
    [###################################################################################->]83.00%
    [####################################################################################->]84.00%
    [#####################################################################################->]85.00%
    [######################################################################################->]86.00%
    [#######################################################################################->]87.00%
    [########################################################################################->]88.00%
    [#########################################################################################->]89.00%
    [##########################################################################################->]90.00%
    [###########################################################################################->]91.00%
    [############################################################################################->]92.00%
    [#############################################################################################->]93.00%
    [##############################################################################################->]94.00%
    [###############################################################################################->]95.00%
    [################################################################################################->]96.00%
    [#################################################################################################->]97.00%
    [##################################################################################################->]98.00%
    [###################################################################################################->]99.00%
    [####################################################################################################->]100.00%
    -------执行结束-------
     

    三 文本进度条单行动态刷新

    3.1 单行刷新动态

    刷新的关键字是
    • 刷新的本质是:用后打印的字符覆盖之前的字符
    • 不能换行:print()需要被控制
    • 要能回退:打印后光标退出之前的位置
    注意:IDLE如Pycharm屏蔽了 功能
    # 让一个值循环
    for i in range(100):
    # 打印不换行的百分比( ,将光标回到本行的开头位置)
        print(f" {i}%", end="")
    # 设置睡眠时间
        time.sleep(0.1)
     
    得到的结果为
    99%
     
     

    四 文本进度条的不同设计函数

     

    代码演示

     
    # 调用时间库
    import time
    # 定义一个变量并设定值
    count = 100
    # 打印开始执行标识(开始执行在中间显示,一边50个字符)
    print("开始执行".center(50,'-'))
    # 开始时间为计算机获取的一个时间点
    start = time.perf_counter()
    # 让循环并且每次加一个
    for i in range(count+1):
    # 定义a为# 每次显示为i的值
        a = "#" * i
    # 定义b为. 每次显示count的设定值减除i得到的值
        b = "." * (count-i)
    # 定义c为循环值i除以设定值100再乘以100
        c = (i/count) * 100
    # 运行完上面部分用的时间减去开始获取的计算机时间
        res = time.perf_counter() - start
    # 打印出上面跑的进度(33是颜色的值, 等于回车 .2f是两位数,第三位数字四舍五入)
        print(f"33[1;31m {c:.2f}%[{a}->{b}]{res:.2f}s33[0m",end="")
    # 程序循环一次睡眠0.1秒
        time.sleep(0.1)
    # 打印开始执行标识(结束执行在中间显示,一边50个字符)
    print("结束执行".center(50,'-'))
     
    得到的结果为
    -----------------------开始执行-----------------------
    100.00%[####################################################################################################->]10.07s
    -----------------------结束执行-----------------------
     
     
     
  • 相关阅读:
    show()的几种方法
    sql的交叉连接,内连接,左外连接,右外连接,全外连接总结
    MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
    RedHat9通过Host-only配置网络连接
    解决Struts2.2.20版本的标签不支持style属性的问题
    SQL查询数据库中所有含有某一列的所有表
    简单工厂模式
    vc常用类总结(转载)
    嵌入式程序员应知道的0x10个C语言Tips
    C语言位操作
  • 原文地址:https://www.cnblogs.com/everuse/p/11734412.html
Copyright © 2020-2023  润新知