728x90
728x90
import time

# from tkinter import filedialog
# filename = filedialog.askopenfilename(initialdir="/", title="텍스트 파일을 선택해 주세요",
#                                       filetypes=(("txt files", "*.txt"),
#                                                  ("all files", "*.*")))
# text_file = open(filename, 'r', encoding='UTF-8').readlines()
text_file = ['동해물과 백두산이 마르고 닳도록\n', '하느님이 보우하사 우리나라 만세\n', '무궁화 삼천리 화려 강산\n', '대한사람 대한으로 길이 보전하세\n',
             '남산 위에 저 소나무 철갑을 두른듯\n', '바람서리 불변함은 우리 기상일세\n', '무궁화 삼천리 화려 강산\n', '대한사람 대한으로 길이 보전하세\n',
             '가을 하늘 공활한데 높고 구름 없이\n', '밝은 달은 우리 가슴 일편단심일세\n', '무궁화 삼천리 화려 강산\n', '대한사람 대한으로 길이 보전하세\n',
             '이 기상과 이 마음으로 충성을 다하여\n', '괴로우나 즐거우나 나라사랑하세\n', '무궁화 삼천리 화려 강산\n', '대한사람 대한으로 길이 보전하세']
print('엔터를 입력하면 시작합니다.', end='')
input()
for x in text_file:
    correct = 0
    x = x.replace('\n', '')
    x = x.strip()
    print(x)
    start = time.time()
    write_text = input()
    print('속도 : %.2f' % (len(write_text) / (time.time() - start) * 60), end=' / ')
    for y, z in zip(x, write_text):
        if y == z:
            correct += 1
    print('정확도 : %.2f %%' % (correct / len(x) * 100))
    print('--------------------------------------------------')
text_file.close()

# from tkinter import filedialog
# filename = filedialog.askopenfilename(initialdir="/", title="텍스트 파일을 선택해 주세요",
#                                       filetypes=(("txt files", "*.txt"),
#                                                  ("all files", "*.*")))
# text_file = open(filename, 'r', encoding='UTF-8').readlines()

tkinter모듈의 askopenfilemane 함수를 사용하여 텍스트 파일을 선택 후 readlines 라인 별로 리스트에 저장한다.

 

text_file = ['동해물과 백두산이 마르고 닳도록\n', '하느님이 보우하사 우리나라 만세\n', '무궁화 삼천리 화려 강산\n', '대한사람 대한으로 길이 보전하세\n',
             '남산 위에 저 소나무 철갑을 두른듯\n', '바람서리 불변함은 우리 기상일세\n', '무궁화 삼천리 화려 강산\n', '대한사람 대한으로 길이 보전하세\n',
             '가을 하늘 공활한데 높고 구름 없이\n', '밝은 달은 우리 가슴 일편단심일세\n', '무궁화 삼천리 화려 강산\n', '대한사람 대한으로 길이 보전하세\n',
             '이 기상과 이 마음으로 충성을 다하여\n', '괴로우나 즐거우나 나라사랑하세\n', '무궁화 삼천리 화려 강산\n', '대한사람 대한으로 길이 보전하세']

애국가가 저장된 텍스트 파일을 불러와서 readlines 함수를 적용하면 위와 같이 리스트에 저장된다.

 

print('엔터를 입력하면 시작합니다.', end='')
input()

파일을 불러오고 엔터를 누룰 때까지 기다려준다.

 

for x in text_file:
    correct = 0
    x = x.replace('\n', '')
    x = x.strip()
    print(x)

리스트 text_file에서 하나씩 가져와서 개행문자를 제거하고 문자열 양쪽의 빈문자열을 제거한다.

 

	start = time.time()
	write_text = input()
	print('속도 : %.2f' % (len(write_text) / (time.time() - start) * 60), end=' / ')

속도를 측정하기위해 time.time()를 이용하여ㅕ 시작 시간을 저장하고 속도를 계산한다.

 

    for y, z in zip(x, write_text):
        if y == z:
            correct += 1
    print('정확도 : %.2f %%' % (correct / len(x) * 100))
    print('--------------------------------------------------')

for문으로 한 문자씩 정확도를 계산한다.

728x90
728x90