title: 플래시카드 학습 앱 description: JSON 파일에서 로드한 플래시카드 세트를 학습하고, 세션 간 점수를 추적합니다.
플래시카드 학습 앱
Zee 그래서 말이야. 6주 후에 추진 시스템 시험이 있는데, 나는 자신을 시험해보면서 배우는 게 훨씬 잘 돼. 플래시카드 앱을 만들어줄 수 있어? 파일에서 카드를 로드하고, 앞면을 보여주고, 내가 답을 입력하고, 맞는지 알려주는 거. 그리고 진행 상황을 저장해서 중단한 곳부터 다시 시작할 수 있으면 좋겠어. 부탁해 🙏
만들게 될 것
Deck: python-basics.json (12 cards)
Front: len() 함수가 문자열에 대해 반환하는 것은?
Your answer: the number of characters
Correct!
Front: input() 함수가 항상 반환하는 타입은?
Your answer: int
Incorrect. The answer is: str
---
Session complete: 8/12 correct.
Progress saved.필요한 것
- 클래스와 객체 -
Card클래스와Deck클래스는 데이터를 모델링하는 깔끔한 방법을 제공합니다 - 파일과 예외 - JSON 파일에서 데크를 로드하고 저장하기, 첫 실행 시 파일이 없을 때 처리하기
- 모듈과 표준 라이브러리 - 파일 처리를 위한
json, 섞기를 위한random - 딕셔너리와 리스트 - 클래스로 래핑하기 전의 기본 구조
- 제어 흐름 - 데크를 순회하기, 맞거나 틀렸을 때 분기하기
힌트
클래스부터가 아니라 데이터부터 시작하세요. 카드는 두 개의 문자열입니다: 앞면과 뒷면. 데크는 카드 리스트입니다. 먼저 그걸 작동하게 한 다음, 원하면 더 깔끔한 인터페이스를 위해 클래스로 래핑하세요.
JSON이 파일 형식을 처리합니다. json.load()는 파일을 Python 리스트나 딕셔너리로 읽습니다. json.dump()는 다시 쓰기합니다. json 모듈은 표준 라이브러리에 있습니다.
파일 로드를 try/except로 래핑하세요. 스크립트가 처음 실행될 때 저장 파일이 존재하지 않습니다. FileNotFoundError를 캐치하면 충돌하는 대신 빈 데크로 시작할 수 있습니다.
더 나아가기
핵심 학습 루프가 작동한 후:
- 틀린 답 반복하기. 플레이어가 틀린 카드를 추적하고 세션 끝에 다시 순회합니다.
- 여러 데크. 폴더의 사용 가능한
.json파일을 나열하고 사용자가 어떤 데크를 학습할지 선택하게 합니다. - 간격 반복. 각 카드가 올바르게 답변된 횟수를 기록합니다. 덜 자주 답변된 카드를 더 자주 표시합니다.

