Python关于print的操作(倒计时、转圈显示、进度条)
作者:qq_1471587327 发布时间:2022-08-19 07:26:58
前言
在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()
就是这个样子,要不然加载条不出来。同学可以自己查查资料哟
来源:https://blog.csdn.net/qq_44168690/article/details/104116406


猜你喜欢
- 1。帐号和口令设置 要选择用户SYS、SYSTEM、DBSNMP、SYSMAN使用相同的口令,那就选择“所有账户使用同一口令”。 BI用户,
- 什么是接口接口是一种定义规范,规定了对象应该具有哪些方法,但并不指定这些方法的具体实现。在 Go 语言中,接口是由一组方法签名(方法名、参数
- 本人虽然五音不全,但是听歌还是很喜欢的。希望能利用机器自动制作音乐,本我发现了一个比较适合入门的有趣的开源音乐生成模块 PySynth ,文
- 在linux安装mysql是一个困难的事情,yum安装一般是安装的mysql5.1,现在经过自己不懈努力终于能用yum安装mysql5.5了
- 需要建立2个文件,一个作为客户端,一个作为服务端文件一 作为客户端client,文件二作为服务端serverudp的特点是不需要建立连接文件
- 图片人脸检测#coding=utf-8import cv2import dlibpath = "img/meinv.png&quo
- selenium IDE是干什么的Selenium IDE 是一个简单的录制回放工具,它可以录制你在浏览器上的操作,回放脚本时
- 语法object instanceof constructor参数object:要检测的对象.constructor:某个构造函数描述:in
- 数组go开发者在日常的工作中slice算是用的比较多的了,在介绍slice之前,我们先了解下数组,数组相信大家都不陌生,数组的数据结构比较简
- 其实方法很简单~输入 reset, 选y。删除不可恢复。补充:Python中的del语句——变量删除Python中的del语句作用是删除变量
- OpenCV 是一个流行的开源计算机视觉库,可用于不同的编程语言,例如 Python、C++ 和 JavaScript。它提供了一套丰富的工
- 一、sort函数如果对python中的列表进行排序,可以使用List类的成员函数sort,该函数会在原空间上进行操作,对列表本身进行修改,不
- 大部分服务器管理员知道MySQL数据库管理系统(RDBMS)是高度灵活的软件块,带有范围广阔的启动选项,可以用来修改相关行为。然而,大部分人
- 首先,我要在这里写上一些很官方的概念,意在说明面向对象是很具体化的,很实体的模式,不能让有些人看见“对象&rdq
- 在程序的开发过程中,处理分页是大家接触比较频繁的事件,因为现在软件基本上都是与数据库进行挂钓的。但效率又是我们所追求的,如果是像原来那样把所
- 前言由于安装某个项目的执行文件,提示要卸载MySQL以便它自身MySQL安装,然后我禁用了MYSQL服务,再把这个文件夹删除后,发现还是提示
- 这是个“懒人”用的办法,你没有时间更新主页,却又不能让三个月前的更新还标着"new",那么用这个js可以帮你的大忙!这个
- 在这个情人节前夕,我把现任对象回收掉了,这段感情积攒了太多的失望,也给了我太多的伤害,所以我看到这个活动的第一反应是拒绝的。然而人生嘛,最重
- print() 函数使用以 % 开头的转换说明符对各种类型的数据进行格式化输出。转换说明符(Conversion Specifier)只是一
- 对于现在很多工业检测,特别是对一些精密的器件进行筛选,往往都是像素级别的,十分的精确。主要思想将图像转化为二值图像在对图像进行腐蚀/膨胀处理