70 — 게임: 반응 속도 측정
반응 테스트는 GO가 나타난 때와 엔터를 누른 때를 알아야 합니다.
time.time()이 초 단위 시계를 읽으므로, 두 번 읽어 빼면 그 사이 시간을 잽니다.
단계
time.time()은 정해진 순간부터의 초를 돌려줍니다.input()앞뒤로 읽고 빼 보세요:
실행해 보기 →import time 시작 = time.time() input() 걸린시간 = time.time() - 시작 f"걸린 시간: {걸린시간:.2f}초" 말해줘파이프로 넣은 엔터는 즉시라서 실행 결과는 약
0.00입니다.- 대기가 고정되면 클릭 타이밍을 맞출 수 있습니다. 랜덤 도우미가 대기를
예측할 수 없게 합니다:
실행해 보기 →랜덤 사용 최신 import time 잠깐은 1부터 3까지 랜덤정수 time.sleep(잠깐) "GO!" 말해줘time.sleep(초)는 멈추고,1부터 3까지 랜덤정수가 대기를 고릅니다. - 전체 프로그램은 세 라운드를 돌려 가장 빠른 것을 남깁니다. 파이프 테스트가
빨리 끝나도록 대기는
0.1초로 줄였습니다. 진짜 게임은1부터 3까지 랜덤정수를 쓰세요:
실행해 보기 →# 반응.nme — 반응 속도를 재는 게임입니다. # 실행: nme 실행 반응 # time.time()으로 순간을 재고, 가장 좋은 기록을 남깁니다. import time 라운드 = 3 최고 = None 합계 = 0 "반응 속도 테스트 — GO가 보이면 바로 엔터를 누르세요." 말해줘 f"{라운드}라운드를 하고, 가장 빠른 것이 최고입니다." 말해줘 "일찍 누르면 실격이에요 — GO를 기다리세요." 말해줘 input() for 번호 in range(1, 라운드 + 1): f"{번호}번째 라운드: 준비..." 말해줘 time.sleep(0.1) "GO!" 말해줘 시작 = time.time() input() 걸린시간 = time.time() - 시작 합계 = 합계 + 걸린시간 f" {걸린시간:.2f}초 걸렸어요." 말해줘 if 최고 is None or 걸린시간 < 최고: 최고 = 걸린시간 " 새 최고 기록!" 말해줘 else: f" 최고는 여전히 {최고:.2f}초입니다." 말해줘 "최종 결과:" 말해줘 f" 최고 기록: {최고:.2f}초" 말해줘 평균 = 합계 / 라운드 f" 평균: {평균:.2f}초" 말해줘 - 라운드마다 빈 줄 하나씩(준비 엔터 하나 + 라운드마다 하나) 실행합니다:
printf '\n\n\n\n' | nme 실행 반응반응 속도 테스트 — GO가 보이면 바로 엔터를 누르세요. 3라운드를 하고, 가장 빠른 것이 최고입니다. 일찍 누르면 실격이에요 — GO를 기다리세요. 1번째 라운드: 준비... GO! 0.00초 걸렸어요. 새 최고 기록! 2번째 라운드: 준비... GO! 0.00초 걸렸어요. 새 최고 기록! 3번째 라운드: 준비... GO! 0.00초 걸렸어요. 최고는 여전히 0.00초입니다. 최종 결과: 최고 기록: 0.00초 평균: 0.00초 최고 = None은 "아직 라운드 없음"을 뜻하고,if 최고 is None or 걸린시간 < 최고가 가장 작은 시간을 남깁니다.
직접 해보기
라운드를 5로 올리거나 평균을 출력해 보세요. 대기 줄을 time.sleep(1부터 3까지 랜덤정수)로 바꾸고 진짜 키보드로 실행해 보세요.
배운 것
time.time()은 초 단위 현재 시계를 돌려주고, 두 번 읽어 빼면 사이 시간을 잽니다.time.sleep(초)는 프로그램을 멈춥니다.1부터 3까지 랜덤정수/random_number(1, 3)이 대기를 예측할 수 없게 합니다.최고 = None다음에if 최고 is None or 걸린시간 < 최고가 라운드 사이 가장 작은 시간을 남깁니다.