프로그래밍 언어/Python

파이썬 과제 :: 타자 연습 프로그램

gamjadori 2026. 8. 25. 10:20
728x90

문제) 영단어 타자 연습 프로그램

화면에 무작위로 영단어가 하나씩 출력되면, 사용자가 그 단어를 그대로 입력한다. 사용자가 단어를 입력하는 데 걸린 시간을 측정하여 출력하고, 이 과정을 여러 번 반복하며 새로운 단어가 계속 제시되도록 프로그램을 작성하시오.

 

import random
import time

words = ["apple", "banana", "computer", "keyboard", "python",
         "language", "practice", "student", "school", "monitor"]

def typing_practice(word_list, rounds=5):
    print("타자 연습을 시작합니다! 화면에 나오는 단어를 그대로 입력하세요.\n")
    
    total_time = 0

    for i in range(rounds):
        word = random.choice(word_list)
        print(f"[{i+1}/{rounds}] 이 단어를 입력하세요: {word}")

        start_time = time.time()
        user_input = input(">> ")
        end_time = time.time()

        elapsed = end_time - start_time
        total_time += elapsed

        if user_input == word:
            print(f"정답입니다! 걸린 시간: {elapsed:.2f}초\n")
        else:
            print(f"틀렸습니다. 정답은 '{word}'였습니다. 걸린 시간: {elapsed:.2f}초\n")

    print("연습 종료!")
    print(f"총 걸린 시간: {total_time:.2f}초")
    print(f"평균 시간: {total_time/rounds:.2f}초")

if __name__ == "__main__":
    typing_practice(words, rounds=5)