timer - 使用 Python 问题的控制台显示秒表
问题描述
我想用 Python 做一个秒表。我有什么样的作品,但不是我想要的。我想要的是拥有以下内容。
启动程序
- 点击“空格键”时---->开始计时器
- 在控制台上持续显示计时器到千位(例如 3.453 秒)
- 点击“空格键”时---->停止计时器
- 在任何时间点按空格键时暂停显示
- 点击“空格键”时---->随时启动计时器
- 在控制台上持续显示计时器到千位(例如 3.453 秒)
- 点击“空格键”时---->停止计时器
- 在空格键被点击的任何时间暂停
- 当轻按“r”时---->将计时器重置为 0.000 秒
问题-
- 无法使用“退出”键退出程序。(我也读过以我吃掉你的 CPU 的方式来做这件事。
- 我不知道如何开始和停止时间。无论按“空格键”,时间都会不断累积。
- 我不知道如何实现重置功能。
- 我觉得我编写程序的方式不是最有效或最优雅的,但我不知道如何解决这个问题。
这是我的代码。
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()
解决方案
推荐阅读
- python - 如何在电话号码中添加括号?
- postgresql - 过程和触发器 postgresql 添加一个条件,只在一行上做,而不是全部
- python - catboost中用户定义的损失函数的学习曲线?(model.eval_metric_ 为空)
- vb.net - 从任务栏图标最小化和最大化程序时出现问题
- css - 工具提示和 CSS 过渡
- html - 如何使用 Bootstrap 框架使表格居中
- pytorch - pytorch:使用带有 prefetch_factor 的数据加载器从 txt 加载数据
- javascript - 如何检查一个值是否未定义以便不将其添加为对象字段?
- git - Git CLI 不仅将我的活动目录,而且将所有其他目录推送到 repo
- ruby-on-rails - 使用 rake 命令创建管理员用户时面临问题