怎么用Python的print在一行中打印(计时器功能)

 时间:2024-10-28 11:24:46

1、我们来看看这两个程序:第一个是倒计时:第二个是显示百分比进度:我们要实现的就是这样的功能。

怎么用Python的print在一行中打印(计时器功能)
怎么用Python的print在一行中打印(计时器功能)

2、我们要实现这样的功能,我们就必须要开启print的缓冲区和让print不换行。我们仔细看看print的参数:print(value,sep=' ',end='\n',file=sys.stdout,flush=False)这个value是我们要打印的字符串,sep则是value之间的间隔(我们可以print("Hello","Python")看到中间确实有一个空格间隔开了)end是打印完成之后要打印的事,print默认在结束的时候打印一个\n,即换行(我们想要print不换行,只要把end参数换成''即可)。file=sys.stdout则是打印到哪里?sys.stdout是系统的控制台,即标准输出设备flush=False是说明print不开启缓冲区,我们要开启缓冲区只需把flush设置成True即可。这些说明,我们可以在python IDLE中输入print(看到,如图

怎么用Python的print在一行中打印(计时器功能)

3、OK,我们来开始写第一个程序,倒计时程序,这里小编倒计时5秒。我尺攵跋赈们要使用倒计时的话,要用到time模块#-*- coding:utf-8 -*-import timeprint("倒计时程序")for x in range(5,-1,-1): mystr = "倒计时" + str(x) + "秒" print(mystr,end = "") print("\b" * (len(mystr)*2),end = "",flush=True) time.sleep(1)

怎么用Python的print在一行中打印(计时器功能)

4、但是我们不能直接按下F5在Python IDLE的Shell中运行,我们需要在罕铞泱殳cmd内运行才有效。来解释下:range(5,-1,-1)的意思是:使用range产生一个列表,从5开始到-1之前结束。range的用法是range(开始,结束,步长),因为我们是要从大到小,所以我们用-1表示步长为-1,意味着每次-1,如果是-2,那就是每次-2str(x)把x变量转换成字符串print(mystr,end = "") 我们打印字符串之后,不换行,即end=""最重要的一条语句:print("\b" * (len(mystr)*2),end = "",flush=True)"\b" * (len(mystr)*2)这句话的意思是,打印'\b'这个转义字符,然后打印len(mystr)*2次。len得到字符串长度,为什么要*2呢?要知道,我们用的字符串是中文,而1个中文字符 = 2个英文字符(占位),所以,如果字符串是英语,我们完全可以不*2,但是中文字符就不同了。具体小伙伴可以把*2去掉试试看flush = True则是开启缓冲区\b转义字符起了退格的功能,相当于在编辑文件的时候按下BackSpace键,从光标位置往前删掉一个字符time.sleep(1)则是让程序暂停1秒我们这样做的就能每次print之后,\b帮我们把一行内的字符都清光,这就是我们为什么要获得字符串长度的原因啦,还有就是Python的IDLE无法识别\b字符,所以我们只能在控制台看到正确的结果。我们来看看结果。

怎么用Python的print在一行中打印(计时器功能)
怎么用Python的print在一行中打印(计时器功能)

5、让我们做第二个显示百分比进度的程序:#-*- coding:utf-8 -*-import timeprint("显示百分比")for x in range(101): mystr = "百分比" + str(x) + "%" print(mystr,end = "") print("\b" * (len(mystr)*2),end = "",flush=True) time.sleep(0.5)

怎么用Python的print在一行中打印(计时器功能)

6、原理和倒计时程序一样,我们运行查看结果。同样不能在IDLE中运行哦。

怎么用Python的print在一行中打印(计时器功能)
  • 宝宝发育到什么年龄开始有沟通能力?
  • 旅游服务业如何向全球化迈进
  • 木瓜牛奶的做法
  • 怎么跟女性聊天?怎么和女性相处?
  • 热门搜索
    扶贫手抄报 关于元旦的手抄报 关于清明节手抄报 文明校园手抄报图片 饮食安全手抄报 我爱我的祖国手抄报 防灾减灾的手抄报 世界读书日手抄报 端午节手抄报资料 感恩手抄报简单又漂亮