本文主要是介绍用python实现秒表计时功能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前景提要
前景提要部分介绍实现秒表功能时会用到的一些方法以及可能遇到的问题。
round()
用于返回浮点数的四舍五入值,第一个参数是目标值,第二个参数是精度,没有的话默认四舍五入到整数,得到的数据类型是int;当第二个参数是0,虽然四舍五入到整数,但依旧会保留一位小数,得到的数据类型是float
except KeyboardInterrupt: # 键盘输入ctrl+c没有生效
在pycharm中运行程序与正常运行不太一样,特别是在处理键盘字符方面。按ctrl-c的方式,pycharm认为您想要复制文本。python程序永远看不到字符。想要让运行中的pycharm接收键盘输入,需要开启模拟终端模式。具体步骤如下:在 PyCharm 中打开“Run/Debug Configurations”。
勾选下方红框,使得pycharm在输出控制台中模拟终端,从而可以接受键盘中断(确保控制台处于焦点状态)。
下图中的热点代表的就是控制台可以处于焦点状态。
\r
用于将光标退回到开始位置,不会进行删除只会进行覆盖。print
语句中\r
和end=""
结合使用可以对计时效果进行优化。
实现秒表功能
# 实现秒表功能
import timeinput('点击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 timeinput('点击enter键开始计时')
start_time = time.time()
while True:print('\r%.f秒'%(round(time.time() - start_time, 0)), end="") # 优化后的语句time.sleep(1)
# 策略2
import timeinput('点击enter键开始计时')
start_time = time.time()
while True:print('\r'+str(round(time.time() - start_time))+'秒', end="") # 优化后的语句time.sleep(1)
实现结果如下:
注意点:
策略1和策略2当输出控制台处于模拟终端的情况下无法产生上面的效果。所以效果虽然优化了但无法用ctrl+c停止计时。
这篇关于用python实现秒表计时功能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!