본문 바로가기
프로젝트/토이 프로젝트

Toy.didIPass 0) 자격증 과락, 합격, 불합격 계산 프로그램

by Fola 2022. 6. 19.

토이 프로젝트 >

Toy poj.pf 0) 자격증 과락, 합격, 불합격 계산 프로그램 (Ver. 1.0)

 

 

 

0.

코드 링크:

https://github.com/dpcalfola/toy_projects/tree/main/did_i_pass

 

대화형 텍스트 방식의 프로그램.

문제의 개수와 맞은 문제 수 또는 틀린 문제 수를 입력하면

백분율 환산 점수, 과락 여부, 합격여부를 출력한다.

 

mode1 : 총 문제수와 맞은(또는 틀린) 문제 개수를 입력받아 합격 여부 출력

mode2 : 세부 과목의 문제수와 맞은(또는 틀린) 문제 개수를 가각 입력받아 과락 여부와 종합 합격 여부 출력

 

프로그램 실행 결과 화면

(하늘색 숫자는 유저가 입력한 값)

(캡쳐) 프로그램 실행 결과 화면 - 각 과목의 총 문제수, 정답의 개수 또는 오답의 개수를 입력받아 과락 여부와 합격, 불합격 여부를 계산하여 출력하였다.

 

 

 

 

1. 요즘 자격증 시험에 많이 응시하고 있다

 

가채점 결과로 과락, 합격, 불합격 여부를 계산하는 프로그램이 있으면 편할 것 같아서

간단하게 계산 코드를 작성... 하려 했으나

 

욕심이 조금 나서

조금 정성을 들여 보았다.

 

 

 

 

2. 모듈 분리와 파이썬 객체지향 프로그래밍 연습

 

파이썬을 익히자마자 바로 Django 개발을 시작했기 때문에

자바에 비해 프레임워크를 사용하지 않는

퓨어 파이썬 객체지향 코드를 작성할 기회가 상대적으로 적었다.

이번 기회에 파이썬으로 다양한 시도를 해 볼 수 있어서 좋았다. 

 

1) 코드를 기능별로 최대한 분리하려고 노력

- 합격기준/ 과락 기준은 config.json 에 저장

- mode 1과 mode2의 파일 분리 

- class 파일 분리 (mode2)

- 입력/ 처리/ 출력 함수를 분리 (mode2)

- 입력 검증, 서수 생성 등의 주요 기능 외 코드는 따로 분리하여 필요할 때마다 호출

 

2) 객체지향 프로그래밍

- mode2에서 각 과목의 정보는 객체화하여 객체 리스트에 저장

- 객체가 생성자로부터 생성됨과 동시에 프로세싱 함수가 실행, 계산이 필요한 필드 값을 모두 채운다

- 프로세싱 함수가 분리되어있기 때문에 추후 생성자의 파라미터 값의 변경이 필요한 경우에도

  한번 더 프로세싱 함수를 호출하여 계산이 가능

- 객체 리스트의 객체들을 적절히 꺼내고 처리하여 각 과목/ 총합 계산 결과를 출력

 

 

 

 

3. README.md 정리

 

이전까지의 모든 프로젝트의 과정은 모두 깃으로 관리되며 깃허브에 업로드되어 있다.

그러나 README.md를 제대로 작성하지 않았기 때문에 

타인이 프로젝트 깃허브를 방문했을 때 레파지토리에 대한 정보를 거의 얻을 수 없는 상황이다.

그리고 프로젝트가 일단락된 이후에 시간이 지날수록 README.md를 작성에 시간을 내기가 더더욱 어려워진다. 

 

그래서 이번 토이 프로젝트는 Ver 1.0을 선언한 직후 README.md부터 작성하였다.

다른 정리 작업 없이도 주소 한 줄로 이력서에 첨부할 수 있게 되었으며,

혹여나 다른 누군가가 원한다면 내 코드를 쉽게 사용할 수 있었으면 좋겠다. 

 

 

 

 

4. 기타

이 외에도 코드를 작성하며 포스팅하고 싶은 내용이 많으나, 

글 작성에 너무 많은 시간을 소모하고 있기 때문에 

일단 여기서 끊고 다음 포스팅으로 이어 작성할 계획.

댓글