Python关于print的操作(倒计时、转圈显示、进度条)

 更新时间:2023年05月09日 14:46:37   作者:qq_1471587327  
这篇文章主要介绍了Python关于print的操作(倒计时、转圈显示、进度条),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

前言

在python中,print是重要的输出语句,让我们更方便的知道程序的运行状况,但是这样还不够,我们也可以用print来给周围的小伙伴秀一下

步入正题

  • \r表示将光标的位置回退到本行的开头位置
  • \b表示将光标的位置回退一位

1、横条加载

num = 20
for i in range(num):
    print("#")

打印结果:

#
#
#
#
。。。。(此处省略剩下16个 #)

结果发现这样很丑,达不到我们的预期,所以,在print里面,我们有一个flush,是及时刷新的意思,默认为False,只有所有内容都有来然后一次性打印出来,为True时是及时更新print的信息

import time
num = 20
for i in range(num):
    print("#", end="", flush=True)
    time.sleep(0.1)

这次我们加上time中延迟的sleep来综合试一下

打印结果:

2、倒计时显示

import time
for i in range(5, 0, -1):
    print("\r", "倒计时{}秒!".format(i), end="", flush=True)
    time.sleep(1)

打印结果:

print中,\r就可以让打印之后有重新回到本行开头的位置继续打印,相当于重新刷了一遍,但是我们不难发现,倒计时前面有个小空缺,那是因为"\r"占了一个小位置,所以我们把代码重新改造一下。

import time
for i in range(5, 0, -1):
    print("\r倒计时{}秒!".format(i), end="", flush=True)
    time.sleep(1)
print("\r倒计时结束!")

打印结果:

3、转圈等待显示

话不多说直接上代码

import time
sum = 10         # 设置倒计时时间
timeflush = 0.25  # 设置屏幕刷新的间隔时间
for i in range(0, int(sum/timeflush)):
    list = ["\\", "|", "/", "—"]
    index = i % 4
    print("\r程序正在运行 {}".format(list[index]), end="")
    time.sleep(timeflush)

运行结果:

4、进度条显示

import time
days = 365
for i in range(days):
    print("\r进度条百分比:{}%".format(round((i + 1) * 100 /days)), end="", flush=True)
    time.sleep(0.02)

打印结果:

进度条改进版

import time
num = 50         #设置倒计时时间
timeflush = 0.5   #设置屏幕刷新的间隔时间
for i in range(0, int(num/timeflush)+1):
    print("\r正在加载:" + "|" + "*" * i + " "*(int(num/timeflush)+1-i)+"|" + str(i)+"%", end="")
    time.sleep(timeflush)
print("\r加载完成!")

打印结果:

进度条升级版

我们通过加入一些进度条模块,可以实现进度条炫酷的效果

tqdm模块

我们在cmd中下载tqdm模块

pip install tqdm

我们在pycharm中加入tqdm模块

勾选Install to user's site packages directory

点击Install Package

然后代码如下:

from tqdm import tqdm
for i in tqdm(range(10000)):
    pass

运行结果:

这里根据每个电脑的不同而范围不同,电脑性能好的同学可以适当的值调大,这样会显示最佳的体验效果

progressbar模块

现在cmd中下载progressbar模块,命令是

pip install progressbar

即可安装成功

然后在pycharm中安装progressbar模块

勾选Install to user's site packages directory

点击Install Package

代码如下:

from progressbar import *
import time
pro = ProgressBar()  # 将progressbar中的ProgressBar实例化
for i in pro(range(1000)):
    time.sleep(0.01)

运行结果:

我的电脑不知道怎么回事,正常的画面加载不出来,但是不影响程序,程序是对的,我在 time.sleep(0.01)下面加了个print()就是这个样子,要不然加载条不出来。同学可以自己查查资料哟

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python多线程请求带参数的多个接口问题

    python多线程请求带参数的多个接口问题

    这篇文章主要介绍了python多线程请求带参数的多个接口问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • python模块和函数帮助文档快速查看方法示例

    python模块和函数帮助文档快速查看方法示例

    这篇文章主要为大家介绍了python模块和函数帮助文档快速查看方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Python实现根据Excel生成Model和数据导入脚本

    Python实现根据Excel生成Model和数据导入脚本

    最近遇到一个需求,有几十个Excel,每个的字段都不一样,然后都差不多是第一行是表头,后面几千上万的数据,需要把这些Excel中的数据全都加入某个已经上线的Django项目。所以我造了个自动生成 Model和导入脚本的轮子,希望对大家有所帮助
    2022-11-11
  • 解决Atom安装Hydrogen无法运行python3的问题

    解决Atom安装Hydrogen无法运行python3的问题

    今天小编就为大家分享一篇解决Atom安装Hydrogen无法运行python3的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • python小项目之五子棋游戏

    python小项目之五子棋游戏

    这篇文章主要为大家详细介绍了python小项目之五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • 基于Python词云分析政府工作报告关键词

    基于Python词云分析政府工作报告关键词

    这篇文章主要介绍了基于Python词云分析政府工作报告关键词,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Python处理文本数据的方法详解

    Python处理文本数据的方法详解

    学习Python时,它总能让人深刻体会到这款语言的魅力。今天小编为大家带来一个有趣的项目,用Python处理文本数据,一起来看看今天的问题吧
    2022-06-06
  • python 实现一个反向单位矩阵示例

    python 实现一个反向单位矩阵示例

    今天小编就为大家分享一篇python 实现一个反向单位矩阵示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • python进行数据合并concat/merge

    python进行数据合并concat/merge

    这篇文章主要介绍了python进行数据合并concat/merge,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-09-09
  • python实现文本去重且不打乱原本顺序

    python实现文本去重且不打乱原本顺序

    这篇文章主要介绍了python实现文本去重且不打乱原本顺序,需要的朋友可以参考下
    2016-01-01

最新评论