ภาพรวม
สร้างจับเวลารอบ (lap timer) แบบโต้ตอบในคอนโซล โดยกด Enter เพื่อนับรอบ และ Ctrl+C เพื่อหยุด
ตัวอย่างโค้ด
import time
start_time = time.time()
end_time = start_time
lap_num = 1
print("กด ENTER เพื่อนับรอบ\nกด Ctrl+C เพื่อหยุด")
try:
while True:
input() # รอผู้ใช้กด Enter
lap_time = round(time.time() - end_time, 2)
total_time = round(time.time() - start_time, 2)
print(f"รอบที่: {lap_num}")
print(f"เวลาสะสม: {total_time} วินาที")
print(f"เวลารอบ: {lap_time} วินาที")
print("*" * 20)
end_time = time.time()
lap_num += 1
except KeyboardInterrupt:
print("\nจบโปรแกรม!")ผลลัพธ์ตัวอย่าง
กด ENTER เพื่อนับรอบ กด Ctrl+C เพื่อหยุด รอบที่: 1 เวลาสะสม: 1.77 วินาที เวลารอบ: 1.77 วินาที ******************** รอบที่: 2 เวลาสะสม: 3.52 วินาที เวลารอบ: 1.75 วินาที ******************** จบโปรแกรม!
คำอธิบาย
time.time()ส่งคืนเวลาปัจจุบันเป็น timestamp (float)start_timeเก็บเวลาเริ่มต้นโปรแกรมend_timeเก็บเวลาจบรอบก่อนหน้า (อัปเดตทุกรอบ)- ใช้
try-exceptจับKeyboardInterrupt(Ctrl+C) เพื่อออกจากลูปอย่างเป็นระบบ
การปรับปรุงที่เป็นไปได้
- เพิ่มการบันทึกลงไฟล์ CSV
- เพิ่ม GUI ด้วย tkinter
- รองรับการรีเซ็ตหรือลบรอบล่าสุด