首页 > 解决方案 > 使用 Python 问题的控制台显示秒表

问题描述

我想用 Python 做一个秒表。我有什么样的作品,但不是我想要的。我想要的是拥有以下内容。

启动程序

  1. 点击“空格键”时---->开始计时器
  2. 在控制台上持续显示计时器到千位(例如 3.453 秒)
  3. 点击“空格键”时---->停止计时器
  4. 在任何时间点按空格键时暂停显示
  5. 点击“空格键”时---->随时启动计时器
  6. 在控制台上持续显示计时器到千位(例如 3.453 秒)
  7. 点击“空格键”时---->停止计时器
  8. 在空格键被点击的任何时间暂停
  9. 当轻按“r”时---->将计时器重置为 0.000 秒

问题-

  1. 无法使用“退出”键退出程序。(我也读过以我吃掉你的 CPU 的方式来做这件事。
  2. 我不知道如何开始和停止时间。无论按“空格键”,时间都会不断累积。
  3. 我不知道如何实现重置功能。
  4. 我觉得我编写程序的方式不是最有效或最优雅的,但我不知道如何解决这个问题。

这是我的代码。

import threading
import keyboard

print("==========Welcome to the stop watch==========")
print("Instructions:")
print("1) Press 'space bar' to Start/Stop timer")
print("2) Press 'r' to reset timer")
print("3) Press 'Esc' to exit program\n")


def timer():
    keyboard.wait('space')
    time.sleep(0.1)
    while(True):
        print("Timer: %0.4f" %(time.perf_counter()+0.1), end="\r")

        if keyboard.is_pressed('space'):
            print("Timer: %0.4f" %(time.perf_counter()+0.1))
            break

while keyboard.is_pressed('escape') != True:
    timer()

标签: timerkeyboardstopwatch

解决方案


推荐阅读