python简单实现秒表计时功能

 更新时间:2026年05月20日 09:17:51   作者:试着  
文章主要介绍了实现秒表功能的方法和可能遇到的问题,包括使用round()函数进行四舍五入、在PyCharm中模拟终端接收键盘输入以及print语句中的\r和end的应用

前景提要

前景提要部分介绍实现秒表功能时会用到的一些方法以及可能遇到的问题。

round()用于返回浮点数的四舍五入值,第一个参数是目标值,第二个参数是精度,没有的话默认四舍五入到整数,得到的数据类型是int;当第二个参数是0,虽然四舍五入到整数,但依旧会保留一位小数,得到的数据类型是float

except KeyboardInterrupt: # 键盘输入ctrl+c没有生效

在pycharm中运行程序与正常运行不太一样,特别是在处理键盘字符方面。按ctrl-c的方式,pycharm认为您想要复制文本。python程序永远看不到字符。想要让运行中的pycharm接收键盘输入,需要开启模拟终端模式。

具体步骤如下:

在 PyCharm 中打开“Run/Debug Configurations”。

勾选下方红框,使得pycharm在输出控制台中模拟终端,从而可以接受键盘中断(确保控制台处于焦点状态)。

下图中的热点代表的就是控制台可以处于焦点状态。

\r用于将光标退回到开始位置,不会进行删除只会进行覆盖print语句中\rend=""结合使用可以对计时效果进行优化。

实现秒表功能

# 实现秒表功能
import time

input('点击enter键开始计时,点击ctrl+c停止计时')
start_time = time.time() # 获取当前时间
try:
    while True:
        print(round(time.time() - start_time, 0), '秒') # round()方法用于四舍五入,第二个参数没有传,默认四舍五入到整数
        time.sleep(1) # 停顿1秒
except KeyboardInterrupt: # 当键盘输入ctrl+c会触发异常
    print('总共耗时:', round(time.time() - start_time, 2), 'sec') # round()方法第二个参数传2表示四舍五入到两位小数

实现秒表功能优化

# 策略1
import time

input('点击enter键开始计时')
start_time = time.time()
while True:
    print('\r%.f秒'%(round(time.time() - start_time, 0)), end="") # 优化后的语句
    time.sleep(1)
# 策略2
import time

input('点击enter键开始计时')
start_time = time.time() 
while True:
    print('\r'+str(round(time.time() - start_time))+'秒', end="") # 优化后的语句
    time.sleep(1) 

实现结果如下:

注意点:

策略1和策略2当输出控制台处于模拟终端的情况下无法产生上面的效果。所以效果虽然优化了但无法用ctrl+c停止计时。

总结

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

相关文章

  • Python基础篇之字符串的最全常用操作方法汇总

    Python基础篇之字符串的最全常用操作方法汇总

    我们在学习Python语言时会遇到各种各样的字符串方法处理,下面这篇文章主要给大家介绍了关于Python基础篇之字符串的最全常用操作方法的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • Python实例方法与类方法和静态方法介绍与区别分析

    Python实例方法与类方法和静态方法介绍与区别分析

    在 Python 中,实例方法(instance method),类方法(class method)与静态方法(static method)经常容易混淆。本文通过代码例子来说明它们的区别
    2022-10-10
  • Python 实现的 Google 批量翻译功能

    Python 实现的 Google 批量翻译功能

    这篇文章主要介绍了Python 实现的 Google 批量翻译功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Swin Transformer模块集成到YOLOv5目标检测算法中实现

    Swin Transformer模块集成到YOLOv5目标检测算法中实现

    这篇文章主要为大家介绍了Swin Transformer模块集成到YOLOv5目标检测算法中实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 用实例说明python的*args和**kwargs用法

    用实例说明python的*args和**kwargs用法

    python的*args和**kwargs如何用,看了下面的例子你就清楚了。
    2013-11-11
  • 一行代码生成Tableau可视化图表的方法

    一行代码生成Tableau可视化图表的方法

    本文主要介绍了一行代码生成Tableau可视化图表的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Python脚本实现批量修改网络交换机配置

    Python脚本实现批量修改网络交换机配置

    这篇文章主要介绍了一款基于Python和PyQt5开发的网络交换机批量配置生成工具,旨在解决企业网络设备配置中的常见痛点,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2026-03-03
  • python中shape[0]与shape[1]的说明

    python中shape[0]与shape[1]的说明

    这篇文章主要介绍了python中shape[0]与shape[1]的说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Django框架模板用法入门教程

    Django框架模板用法入门教程

    这篇文章主要介绍了Django框架模板用法,结合简单入门实例形式分析了Django框架模板标签、过滤器、模板继承等概念与使用技巧,需要的朋友可以参考下
    2019-11-11
  • 在Python函数中输入任意数量参数的实例

    在Python函数中输入任意数量参数的实例

    今天小编就为大家分享一篇在Python函数中输入任意数量参数的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07

最新评论