Python 4行代码制作简易计时器,进度条等功能,“\r”字符的使用

本文介绍了如何使用Python创建一个动态计时器,通过覆盖字符` `实现在同一行中更新时间,类似电子表效果。此外,还探讨了如何利用相同原理制作进度条,只需替换输出内容并结合循环中的进度计算即可。这个简单练习对于初学者来说,能帮助理解Python的输出控制和编程思维。
摘要由CSDN通过智能技术生成

Python制作计时器

原理

在Python中可以通过字符输出的形式来显示时间,同时也可以作为计时器
实时计时显示时间
但是这种方法看起来很傻而且看得人眼花缭乱怎么办呢?

但是如果我想让每次输出的结果都在同一行中,达到电子表一样的动态计时显示功能该如何做呢?

Python里有一个简单的覆盖字符"\r",只需要将新显示的时间替换掉原来的,看起来就在同一个地方显示啦。像下面这种

在这里插入图片描述
看起来只输出了一行,其实它和上面的结果一样,只是每一秒都会更新时间。(这个功能在以后的代码输出调试时也是非常实用方便优雅的)

上代码

import time

while True:
    time.sleep(1)
    print("\r", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), end="")

这样只需要短短四行代码就可以让你的代码在输出框里不断更新啦。

小提示
1、在这里其实只是“\r”把原来的字符覆盖清空了,然后把新的结果输出在了原来这一行。
2、因为需要是在同一行,所以我们在结尾需要更改一下print()函数中的默认参数,end="",这样就能确保覆盖的时候在同一行了。
3、既然是为了显示在同一行,那么将end参数改成其他字符或者空字符可以不可以呢?答案是肯定的,例如end=" "或者其他不影响显示的都可以啦!

end
说好的计时器和进度条呢?

只需要把你要显示的东西改成【========-----------】这些可以用来提示进度的东西就好啦,同理改成数字也可以,因为重点就是让它显示在同一行中,至于具体的进度呢,可以放在for循环里面,每次的取值除于总值,再换成百分制就好啦,再动动小脑筋,就可以实现这个简单的功能了

如果是新人开始学Python,一定要试试亲手写这个程序,改成自己想要的形式,因为可以从里面学到非常多的东西是真的。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值