티스토리 뷰
영어 단어 불러오기
단어는 toeic_voca.json, 테스트기는 word_test.py라는 이름으로 만들었습니다.
맨 처음 해야할 것은 json으로 된 영어 단어를 불러오는 일입니다. json에 관련된 메소드를 활용하려면 관련 모듈을 가지고 와야 하겠죠?
import json with open('toeic_voca.json') as data_file: vocas = json.load(data_file)
with open()은 괄호 안에 있는 파일을 불러와서 열고 사용한 다음엔 자동으로 파일을 닫아줍니다. as는 뒤에 나오는 이름으로 이용하겠다는 의미입니다. 즉 "toeic_voca.json 파일을 열고 이 파일을 data_file이란 이름으로 이용하겠습니다."라고 할 수 있습니다. json.load 메소드에 넣으면 json 파일을 딕트형식으로 이용할 수 있게 만들어준다고 지난 포스팅에서 다뤘습니다. 이제 우리는 vocas라는 변수에 딕트 형식의 단어들을 저장해서 이용할 수 있습니다.
print(vocas)를 입력하면 해당 화면이 나타납니다.
단어를 에러 없이 불러왔다면 이제 이 단어들을 이용할 일들만 남았습니다.
사용자의 입력 받기
우리가 만들 단어 테스트기의 실행화면입니다.
우선 틀렸을 때 사용할 별명과 몇 일차를 진행할 지 정하는 숫자를 입력받으면 됩니다. 입력받을 때는 input()를 사용하면 된다고 했죠?
print("토익 단어 테스트를 시작합니다.") slang = input("저한테 욕 한마디 해주시겠어요? : ") #정답을 못맞췄을 때 사용 st = int(input("몇 일차를 진행하시겠습니까 ?(숫자만 입력해주세요) : "))
input으로 입력받은 값은 다 문자열이 됩니다. 그래서 몇 일차인지에 대한 값을 int()를 통해 정수로 바꾼다음 st라는 변수에 저장했습니다.
단어 나누기
if st == 1: today_words = vocas[:200] elif st == 2: today_words = vocas[200:400] elif st == 3: today_words = vocas[400:600] elif st == 4: today_words = vocas[600:800] elif st == 5: today_words = vocas[800:1000] else: today_words = vocas[1000:]
조건문을 통해 각 일차에 맞게 단어를 담았습니다. 슬라이싱을 할 때 시작을 표시하지 않으면 처음부터, 끝을 표시하지 않으면 끝까지 슬라이싱 된다는 것을 잊지 않으셨나요? 그래서 1일차엔 vocas[:200]이라고 적었고, 마지막에는 vocas[1000:]이라고 적었습니다.
반복문을 통해 단어 테스트기 만들기
이제는 단어의 뜻이 나오고, 그에 맞는 단어를 입력하는 등의 반복적인 행동들만 처리할 수 있으면 됩니다.
for today_word in today_words: word = list(today_word.keys())[0] meaning = list(today_word.values())[0] print(meaning) answer = input() if answer == word: print("정답입니다.") else: print("틀렸어! 정답은 {} 임".format(word), slang)
딕트.keys()는 딕트형에서 키만 가져오고, 딕트.values()는 값만 가져옵니다. 해당하는 값들을 가져오고 print문을 통해 우선 뜻만 보여주고, input()을 통해 답을 입력받으면 됩니다. 앞에서 배워온 것들이 중간중간 다 들어가있죠? 혹시 이해가 되지 않는 분들은 깃허브에서 전체 소스코드를 확인하시거나 댓글에 궁금한 점을 남겨주시면 됩니다.
다음 포스팅에서는 파이썬을 활용해서 스크래핑 하는 방법을 알아보도록 하겠습니다.
공감은 제작자에게 큰 힘이 됩니다.
'Backend-dev > python' 카테고리의 다른 글
파이썬을 활용한 뉴스 스크래핑 2 (0) | 2018.04.26 |
---|---|
파이썬을 활용한 뉴스 스크래핑 (0) | 2018.04.23 |
파이썬 인터프리터를 활용한 단어 테스트기 만들기 (0) | 2018.04.20 |
파이썬 예외처리를 알아봅시다. (0) | 2018.04.19 |
파이썬의 모듈을 불러오는 방법과 pip (0) | 2018.04.11 |