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
猜你喜欢
- 原文网址:gradio.app/sharing-you…1.分享演示share=True通过在方法中设置,可以轻松公开
- 之前就见过很多网站在侧边栏上使用<dl />标签对来完成侧边栏栏目的布局,最近在研究DEDECMS的默认模板时,也发现该模板在大
- PHP保存session默认的是采用的文件的方式来保存的,这仅仅在文件的空间开销很小的windows上是可以采用的,但是如果我们采用uinx
- 一、json_encode()该函数主要用来将数组和对象,转换为json格式。先看一个数组转换的例子:$arr = array ('
- 本文通过实际业务系统中调整的一个案例,试图给出一个常见CPU消耗问题的一个诊断方法.大多数情况下,系统的性能问题都是由不良SQL代码引起的,
- 如果有空格就用%20代替,如果有其它字符就用%ASCII代替,如果有汉字等四个字节的字符,就用两个%ASCII来代替。不过有时候我们也需要将
- 1、Dreamweaver中的复制我在网页中复制的文字,粘贴到Dreamweaver中时,它总是带有原来网页的格式,请问如何只复制其中的文本
- 在日常开发中,我们进行用户登录的时候,大部分情况下都会使用 session 来保存用户登录信息,并以此为依据判断用户是否已登录。但其实 HT
- 当浏览网页时,总有那么一类网站华丽而富有趣味性。在浏览信息的同时,足够让我们眼前一亮。它们在充分融入动画、视频、游戏、甚至是与众不同的交互操
- 在使用Tensorflow的过程中,我们经常遇到数组形状不同的情况,但有时候发现二者还能进行加减乘除的运算,在这背后,其实是Tensorfl
- 在对跨多个表格的数据进行组合时,有时很难搞清楚要使用哪一个SQL句法。我将在这里对将多个表格中的查询合并至单一声明中的常用方式进行阐述。在这
- 这个函数是前几年刚流行小偷程序的时候,偶写来用于小偷程序中截取代码的;可能有些朋友在我以前的代码中看见过了,但没有写用法,现在把调用方法及使
- 最近发现一个问题,是关于IDEA的一些骚操作的事儿~具体怎么回事,一起来看看。我们都知道使用git分布式版本控制工具,提、拉 代码都会有一个
- 本文实例为大家分享了JS实现拖动模糊框特效的具体代码,供大家参考,具体内容如下需求:在图片上拖动按钮,图片蒙层慢慢覆盖,当蒙层边缘碰到左右下
- 1、可以在mode参数中添加'b'字符。所有适合文件对象的相同方法。然而,每种方法都希望并返回一个bytes对象。>&
- <%If(Request.QueryString("Page")="") ThenPage=1
- 可能出现的原因有:◆源数据库或目标数据库为 SQL Server 6.5 版。连接到 Access 项目的当前 SQL 服务器和要将数据库转
- 这个问题困扰了我很长很长的时间,在跨域获取数据的时候就要用到服务器端的对象,以前一直用的是Msxml.XMLHTTP。但是问题太多了,特别严
- GetRepeatTimes(TheChar,TheString) 得到一个字符串在另一个字符串当中出现几次的函数(新)如:response
- 今天在玩 google earth 4.0b,发现 Print Screen 下来的图片很大,如果直接放在网页上,因为尺寸太大又不合适,又不