「다시 즐길 수 있는 퀴즈 만들기」는 Python 기초를 알고 터미널에서 실제로 즐길 수 있는 프로그램을 만들고 싶은 학습자를 위한 실습 프로젝트입니다. 로컬 JSON 문제 모음에서 문제를 선택하고, 선택지 순서가 바뀌어도 답을 정확히 판별하며, 이번 회차의 오답을 별도의 연습으로 만드는 로직을 작성합니다.
두 개의 가이드 실습에서 익숙한 문제에 답하는 것부터 답변 기록을 저장하고 재사용하는 것까지 배웁니다. 하나의 독립 챌린지에서는 같은 방식을 새로운 자연 퀴즈에 적용합니다. 각 단원은 독립적으로 준비된 파일로 시작합니다.
학습 내용
- 원본 문제 모음을 바꾸지 않고 제한된 수의 문제를 중복 없이 선택하며 선택지 객체 전체를 섞습니다.
- 화면에 표시된 답변 번호를 안정적인 선택지 ID에 대응시키고 각 답변을 해당 문제와 연결합니다.
- 잘못된 입력에는 다시 질문하고, 종료할 때 답하지 않은 문제를 오답으로 기록하지 않습니다.
- 제출된 문제 ID와 선택지 ID 쌍을 UTF-8 JSON 파일에 저장합니다.
- 답한 문제 중 오답만 새 연습으로 선택하고, 오답이 없는 경우도 처리하며, 원본 문제 모음과 기록을 보존합니다.
추천 대상
익숙한 자료구조와 함수를 조합해 대화형 프로그램을 만들고 싶은 Python 학습자에게 적합합니다.
선수 지식: Python 함수, 리스트, 딕셔너리, 조건문, 반복문과 기본 터미널 사용 및 디렉터리 이동이 필요합니다. JSON, 파일 작업, 무작위 선택, 입력 검증, 제공된 함수 매개변수는 사용하기 전에 가이드 실습에서 설명합니다.
학습 환경: 브라우저의 WebIDE에 편집기, 터미널, Python, 문제 모음과 프로그램 골격이 준비되어 있습니다. logic.py의 함수 다섯 개를 구현하고 제공된 표시 엔진, 명령줄 프로그램과 문제 모음을 보존합니다. 문제, 인터페이스 이름과 프로그램 출력은 영어입니다.
자주 묻는 질문
소프트웨어를 설치하거나 퀴즈 서비스에 가입해야 하나요?
로컬 설치나 외부 계정이 필요하지 않습니다. 준비된 환경에서 로컬 파일과 Python 표준 라이브러리를 사용합니다.
프로그램 전체를 처음부터 작성하나요?
아니요. 문제 선택, 선택지 이동, 입력 처리, 기록 저장, 오답 선택을 구현합니다. 제공된 엔진이 문제와 피드백을 표시하고 명령줄 프로그램이 파일을 읽고 최종 점수를 표시합니다.
챌린지에서는 무엇이 달라지나요?
배운 함수를 다른 자연 문제 모음에 재사용합니다. 서로 다른 문제에서 글자나 선택지 ID가 같아도 문제와 선택지의 식별 관계에 따라 정답을 판별해야 합니다. 같은 프로그램이 원래 문제 모음에서도 계속 작동해야 합니다.
중간에 종료하거나 모두 맞혀도 되나요?
네. 답변 전에 q를 입력하면 그 문제는 기록되지 않습니다. 모두 맞힌 회차는 빈 연습을 만듭니다. 새 기록 경로를 사용해 이전 기록을 보존합니다.

