Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)으로 랩 타이머 프로그램 만들기

파이썬으로 랩 타이머 만드는 방법

파이썬에서 랩 타이머(lap timer)를 구현해야 할 때는 'time' 모듈이 사용됩니다. 총 랩 수는 미리 정의되어 있으며, try~except 블록을 통해 랩 타이머를 시작하고 종료합니다.

아래 예제를 통해 실제 동작 방식을 살펴보겠습니다.

예제 코드

import time

start_time=time.time()
end_time=start_time
lap_num=1

print("Click on ENTER to count laps.\nPress CTRL+C to stop")

try:
    while True:

        input()
        time_laps=round((time.time() - end_time), 2)

        tot_time=round((time.time() - start_time), 2)

        print("Lap No. "+str(lap_num))
        print("Total Time: "+str(tot_time))
        print("Lap Time: "+str(time_laps))

        print("*"*20)

        end_time=time.time()
        lap_num+=1

except KeyboardInterrupt:
    print("Exit!")

실행 결과

Click on ENTER to count laps.
Press CTRL+C to stop

Lap No. 1
Total Time: 1.77
Lap Time: 1.77
********************

Lap No. 2
Total Time: 3.52
Lap Time: 1.75
********************
Exit!

코드 설명

  • 필요한 패키지인 time 모듈을 임포트합니다.

  • 시작 시간(start_time), 종료 시간(end_time) 그리고 랩 번호(lap_num)를 초기화합니다.

  • 사용자가 Enter 키를 누를 때마다 한 바퀴(랩)가 기록되며 타이머가 시작됩니다.

  • try~except 블록 안에서는 현재 시각과 직전 랩 종료 시각(end_time)의 차이를 계산하여 랩 시간을 구합니다.

  • 마찬가지로 현재 시각과 시작 시각(start_time)의 차이를 계산하여 총 경과 시간을 구합니다.

  • 이렇게 얻은 값으로 랩 번호, 총 시간, 랩 시간을 확인할 수 있습니다.

  • 계산된 결과는 콘솔 화면에 출력됩니다.

  • 사용자가 CTRL+C를 누르면 KeyboardInterrupt 예외가 발생하고, except 블록에서 'Exit!' 메시지를 출력한 뒤 프로그램이 종료됩니다.

참고: 더 정밀한 측정이 필요하다면?

time.time()은 운영체제의 벽시계(wall-clock) 시간을 기준으로 하므로 시스템 시간 변경에 영향을 받을 수 있습니다. 짧은 시간 간격을 고정밀도로 측정해야 하는 성능 분석 코드라면 time.perf_counter() 함수를 사용하는 것이 더 정확하고 권장됩니다.