python 超級秒錶

2021-08-28 09:35:01 字數 3229 閱讀 9521

設要記錄在沒有自動化的枯燥任務上花了多少時間。你沒有物理秒錶,要為筆記本或智慧型手機找到乙個免費的秒錶應用,沒有廣告,且不會將你的瀏覽歷史傳送給市場營銷人員,又出乎意料地困難(在你同意的許可協議中,它說它可以這樣做。你確實閱讀了許可協議,不是嗎?)。你可以自己用 python 寫乙個簡單的秒錶程式

總的來說,你的程式需要完成:

這意味著**將需要完成以下任務:

開啟乙個新的檔案編輯器視窗,並儲存為 stopwatch.py。

設定程式來記錄時間

秒錶程式需要用到當前時間,所以要匯入的 time 模組。程式在呼叫 input()之前,也應該向使用者列印一些簡短的說明,這樣計時器可以在使用者按下回車鍵後開始。然後,**將開始記錄單圈時間。在檔案編輯器中輸入以下**, 為其餘的**編寫todo 注釋,作為佔位符:

#! python3

# stopwatch.py - a ****** stopwatch program.

import time

# display the program's instructions.

print('press enter to begin. afterwards, press enter to "click" the stopwatch. \

press ctrl-c to quit.')

input() # press enter to begin

print('started.')

starttime = time.time() # get the first lap's start time

lasttime = starttime

lapnum = 1

# todo: start tracking the lap times.

既然我們已經編碼顯示了使用者說明,那就開始第一圈,記下時間,並將圈數設為 1。

記錄並列印單圈時間

現在,讓我們編碼開始每乙個新的單圈,計算前一圈花了多少時間,並計算自啟動秒錶後經過的總時間。我們將顯示的單圈時間和總時間,為每個新的單圈增加圈計數。將下面的**新增到程式中:

#! python3

# stopwatch.py - a ****** stopwatch program.

import time

--snip--

# start tracking the lap times.

try:

while true:

input()

laptime = round(time.time() - lasttime, 2)

totaltime = round(time.time() - starttime, 2)

print('lap #%s: %s (%s)' % (lapnum, totaltime, laptime), end='')

lapnum += 1

lasttime = time.time() # reset the last lap time

except keyboardinterrupt:

# handle the ctrl-c exception to keep its error message from displaying.

print('\ndone.')

如果使用者按 ctrl-c 停止秒錶, keyboardinterrupt 異常將丟擲,如果程式的執行不是乙個 try 語句,就會崩潰。為了防止崩潰,我們將這部分程式包裝在乙個 try 語句中。我們將在 except 子句中處理異常,所以當 ctrl-c 按下並引發異常時,程式執行轉向except 子句,列印 done,而不是 keyboardinterrupt 錯誤訊息。在此之前,執行處於乙個無限迴圈中,呼叫 input()並等待,直到使用者按下回車鍵結束一圈。當一圈結束時,我們用當前時間 time.time()減去該圈開始的時間 lasttime,計算該圈花了多少時間。我們用當前時間減去秒錶最開始啟動的時間 starttime,計算總共流逝的時間。由於這些時間計算的結果在小數點後有許多位(如 4.766272783279419),所以我們用 round()函式,將浮點值四捨五入到小數點後兩位。我們列印出圈數,消耗的總時間和單圈時間。由於使用者為 input()呼叫按下回車時,會在螢幕上列印乙個換行,所以我們向 print()函式傳入 end='',避免輸出重複空行。列印單圈資訊後,我們將計數器 lapnum 加 1,將 lasttime 設定為當前時間(這就是下一圈的開始時間),從而為下一圈做好準備。

類似程式的想法完整**

#! python3

# stopwatch.py - a ****** stopwatch program.

import time

# display the program's instructions.

print('press enter to begin. afterwards, press enter to "click" the stopwatch. \

press ctrl-c to quit.')

input() # press enter to begin

print('started.')

starttime = time.time() # get the first lap's start time

lasttime = starttime

lapnum = 1

# start tracking the lap times.

try:

while true:

input()

laptime = round(time.time() - lasttime, 2)

totaltime = round(time.time() - starttime, 2)

print('lap #%s: %s (%s)' % (lapnum, totaltime, laptime), end='')

lapnum += 1

lasttime = time.time() # reset the last lap time

except keyboardinterrupt:

# handle the ctrl-c exception to keep its error message from displaying.

print('\ndone.')

python秒錶 Python 秒錶

最新專案 更多資訊。bistiming python的乙個日誌友好的秒錶和分析工具。當我們在網際網路上搜尋秒錶或計時模組中的python時,我們可以找到 2020 12 03已閱讀 n次 pip install withstopwatch from withstopwatch import stop...

Python實現秒錶

from tkinter import import time 繼承自 frame 的類 class clock frame def init self frame.init self self.start 0.0 私有 開始時間設為 0 self.passtime 0.0 已經過去了的時間設為 0...

Python 實現秒錶功能

python 實現秒錶功能 以下例項使用 time 模組來實現秒錶功能 例項 import time print 按下回車開始計時,按下 ctrl c 停止計時。while true try input 如果是 python 2.x 版本請使用 raw input starttime time.ti...