【Python實作】製作簡易碼表|倒數幾分鐘、幾秒鐘
📘 Python 實作|製作簡易碼表:倒數幾分鐘、幾秒鐘
練習目的
這次的練習目標,是透過倒數計時器來熟悉 Python 的時間控制、數學運算,以及字串格式化。
- 練習使用 time.sleep() 讓程式暫停指定秒數。
- 練習使用 % 取得餘數。
- 練習使用 // 取得整除結果。
- 練習使用 for 迴圈進行倒數。
- 練習使用 f-string 格式化輸出時間。
相關文章
🧭 題目說明
讓使用者輸入一個倒數秒數,程式會從該秒數開始倒數到 1,每秒更新一次畫面。
為了讓倒數畫面比較像一般計時器,本篇會把秒數轉換成 分鐘:秒數 的格式。
🧪 完整程式碼
以下是完整的 Python 倒數計時器程式。
🖥️ 程式輸出結果
假設使用者輸入 75,程式會從 01:15 開始倒數。
(以下每 1 秒會跳一個數字,總共跳 75 秒)
01:15
01:14
01:13
01:12
01:11
01:10
01:09
01:08
01:07
01:06
01:05
01:04
01:03
01:02
01:01
01:00
00:59
00:58
00:57
00:56
00:55
00:54
00:53
00:52
00:51
00:50
00:49
00:48
00:47
00:46
00:45
00:44
00:43
00:42
00:41
00:40
00:39
00:38
00:37
00:36
00:35
00:34
00:33
00:32
00:31
00:30
00:29
00:28
00:27
00:26
00:25
00:24
00:23
00:22
00:21
00:20
00:19
00:18
00:17
00:16
00:15
00:14
00:13
00:12
00:11
00:10
00:09
00:08
00:07
00:06
00:05
00:04
00:03
00:02
00:01
時間到了!
🔎 程式說明
這支程式的核心邏輯很單純:先取得使用者輸入的秒數,再用 for 迴圈一路倒數,每次倒數時把秒數換算成「幾分幾秒」。
1. 匯入 time 模組
一開始要先匯入 time 模組,後面才能使用 time.sleep()。
這是剛開始寫程式時很容易忘記的一步。只要程式中有用到 time.sleep(),前面就要先寫 import time。
Python 內建很多實用模組,time 就是用來處理時間相關功能的模組。
2. 讓使用者輸入倒數秒數
這一行會讓使用者輸入想要倒數的秒數。
因為 input() 讀進來的資料預設是字串,所以需要使用 int() 轉成整數,後面才能拿來做數學運算。
3. 使用 for 迴圈進行倒數
這行是倒數功能的主要結構。
range(myTime, 0, -1) 代表從 myTime 開始,每次減少 1,一直數到接近 0。
所以 range(myTime, 0, -1) 會倒數到 1,不會印出 0。
4. 使用 % 計算秒數
這一行是用來取得「秒數」的部分。
因為 1 分鐘等於 60 秒,所以如果總秒數超過 60 秒,就要把它拆成「分鐘」和「剩下的秒數」。
% 是取餘數的運算子,可以得到除法後剩下的部分。
也就是說,75 秒可以拆成 1 分鐘又 15 秒,而這個 15 就是要放進 seconds 的數字。
5. 使用 // 計算分鐘
這一行是用來取得「分鐘」的部分。
在 Python 中,/ 是一般除法,而 // 是整除。
整除的意思是只保留商的整數部分,不保留小數,也不保留餘數。
例如使用者輸入 125 秒:
// 負責算「有幾分鐘」。
% 負責算「剩幾秒」。
6. 使用 f-string 格式化輸出
這一行會把分鐘和秒數印成常見的時間格式。
其中 :02 的意思是:至少顯示 2 位數,如果不足 2 位,就在前面補 0。
如果沒有使用 :02,畫面可能會變成 1:5,看起來就比較不像真正的倒數計時器。
7. 使用 time.sleep(1) 暫停 1 秒
time.sleep(1) 會讓程式暫停 1 秒。
在這個倒數計時器中,每印出一次時間,就暫停 1 秒,這樣畫面看起來才會像真正的倒數。
8. 倒數結束後印出提示文字
當 for 迴圈結束後,代表倒數已經完成。
這時候程式會印出 時間到了!,提醒使用者倒數結束。
🧭 執行流程整理
用表格整理這支倒數計時器的執行流程,會更容易理解每一段程式碼的用途。
| 步驟 | 程式做什麼 | 目的 |
|---|---|---|
| 1 | 匯入 time 模組 | 準備使用 time.sleep()。 |
| 2 | 讀取使用者輸入 | 取得要倒數的秒數。 |
| 3 | 使用 range(myTime, 0, -1) | 從指定秒數開始倒數到 1。 |
| 4 | 使用 t % 60 | 取得剩餘秒數。 |
| 5 | 使用 t // 60 | 取得分鐘數。 |
| 6 | 使用 f"{minutes:02}:{seconds:02}" | 把時間格式化成兩位數顯示。 |
| 7 | 使用 time.sleep(1) | 讓程式每次暫停 1 秒。 |
| 8 | 印出 時間到了! | 提示倒數結束。 |
💡 小補充://、% 和 :02 的差別
這題最容易混淆的地方,是 //、% 和 :02 的用途。它們看起來都跟數字有關,但負責的事情不一樣。
| 語法 | 意思 | 例子 |
|---|---|---|
| // | 整除,取商的整數部分。 | 75 // 60 = 1 |
| % | 取餘數。 | 75 % 60 = 15 |
| :02 | 格式化成至少兩位數,不足補 0。 | 5 → 05 |
分鐘用 //,秒數用 %,顯示格式用 :02。
✅ 小結
這個簡易倒數計時器,雖然程式碼不長,但一次練到了很多 Python 初學常用觀念。
- import time:匯入時間模組。
- time.sleep(1):讓程式暫停 1 秒。
- input():讓使用者輸入倒數秒數。
- int():把輸入內容轉成整數。
- for 迴圈:用來重複倒數。
- //:計算分鐘。
- %:計算剩餘秒數。
- f-string:把分鐘與秒數組合成時間格式。
只要理解 // 和 % 的分工,就能掌握這支倒數計時器的主要邏輯。
留言
張貼留言