python簡單實現(xiàn)秒表計時功能
前景提要
前景提要部分介紹實現(xiàn)秒表功能時會用到的一些方法以及可能遇到的問題。
round()用于返回浮點數(shù)的四舍五入值,第一個參數(shù)是目標(biāo)值,第二個參數(shù)是精度,沒有的話默認(rèn)四舍五入到整數(shù),得到的數(shù)據(jù)類型是int;當(dāng)?shù)诙€參數(shù)是0,雖然四舍五入到整數(shù),但依舊會保留一位小數(shù),得到的數(shù)據(jù)類型是float
except KeyboardInterrupt: # 鍵盤輸入ctrl+c沒有生效
在pycharm中運(yùn)行程序與正常運(yùn)行不太一樣,特別是在處理鍵盤字符方面。按ctrl-c的方式,pycharm認(rèn)為您想要復(fù)制文本。python程序永遠(yuǎn)看不到字符。想要讓運(yùn)行中的pycharm接收鍵盤輸入,需要開啟模擬終端模式。
具體步驟如下:
在 PyCharm 中打開“Run/Debug Configurations”。

勾選下方紅框,使得pycharm在輸出控制臺中模擬終端,從而可以接受鍵盤中斷(確??刂婆_處于焦點狀態(tài))。
下圖中的熱點代表的就是控制臺可以處于焦點狀態(tài)。

\r用于將光標(biāo)退回到開始位置,不會進(jìn)行刪除只會進(jìn)行覆蓋。print語句中\r和end=""結(jié)合使用可以對計時效果進(jìn)行優(yōu)化。
實現(xiàn)秒表功能
# 實現(xiàn)秒表功能
import time
input('點擊enter鍵開始計時,點擊ctrl+c停止計時')
start_time = time.time() # 獲取當(dāng)前時間
try:
while True:
print(round(time.time() - start_time, 0), '秒') # round()方法用于四舍五入,第二個參數(shù)沒有傳,默認(rèn)四舍五入到整數(shù)
time.sleep(1) # 停頓1秒
except KeyboardInterrupt: # 當(dāng)鍵盤輸入ctrl+c會觸發(fā)異常
print('總共耗時:', round(time.time() - start_time, 2), 'sec') # round()方法第二個參數(shù)傳2表示四舍五入到兩位小數(shù)

實現(xiàn)秒表功能優(yōu)化
# 策略1
import time
input('點擊enter鍵開始計時')
start_time = time.time()
while True:
print('\r%.f秒'%(round(time.time() - start_time, 0)), end="") # 優(yōu)化后的語句
time.sleep(1)
# 策略2
import time
input('點擊enter鍵開始計時')
start_time = time.time()
while True:
print('\r'+str(round(time.time() - start_time))+'秒', end="") # 優(yōu)化后的語句
time.sleep(1)
實現(xiàn)結(jié)果如下:

注意點:
策略1和策略2當(dāng)輸出控制臺處于模擬終端的情況下無法產(chǎn)生上面的效果。所以效果雖然優(yōu)化了但無法用ctrl+c停止計時。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實例方法與類方法和靜態(tài)方法介紹與區(qū)別分析
在 Python 中,實例方法(instance method),類方法(class method)與靜態(tài)方法(static method)經(jīng)常容易混淆。本文通過代碼例子來說明它們的區(qū)別2022-10-10
Python 實現(xiàn)的 Google 批量翻譯功能
這篇文章主要介紹了Python 實現(xiàn)的 Google 批量翻譯功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08
Swin?Transformer模塊集成到Y(jié)OLOv5目標(biāo)檢測算法中實現(xiàn)
這篇文章主要為大家介紹了Swin?Transformer模塊集成到Y(jié)OLOv5目標(biāo)檢測算法中實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Python腳本實現(xiàn)批量修改網(wǎng)絡(luò)交換機(jī)配置
這篇文章主要介紹了一款基于Python和PyQt5開發(fā)的網(wǎng)絡(luò)交換機(jī)批量配置生成工具,旨在解決企業(yè)網(wǎng)絡(luò)設(shè)備配置中的常見痛點,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2026-03-03
在Python函數(shù)中輸入任意數(shù)量參數(shù)的實例
今天小編就為大家分享一篇在Python函數(shù)中輸入任意數(shù)量參數(shù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07

