본문 바로가기
Develop/Python + SWEA

[SW Expert Academy] 6203. 객체지향 1

by Tarra 2022. 1. 6.

문제)

다음의 결과와 같이 국어, 영어수학 점수를 입력받아 합계를 구하는 객체지향 코드를 작성하십시오.
이 때 학생 클래스의 객체는 객체 생성 시 국어영어수학 점수를 저장하며총점을 구하는 메서드를 제공합니다.

 

입력 : 89, 90, 100

출력 : 국어, 영어,수학의 총점: 279

 

풀이)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
class subject:
    def __init__(self, kor, en, math):
        self.__kor = kor
        self.__en = en
        self.__math = math
 
    def total(self):
        return self.__kor + self.__en + self.__math
 
score = input().split(', ')
 
student = subject(int(score[0]), int(score[1]), int(score[2]))
print("국어, 영어, 수학의 총점: %d" %(student.total()))
cs

 

내가 아는 것이 맞나 잘 모르겠지만, 다른 분의 코드도 보고 최대한 해석해 보았다.

성적의 총합을 출력할 목적이기 때문에 class subject를 선언한다.__init__ 생성자 메서드를 정의하고, 그 후 self.와 __~~를 이용하여 들어온 정보로 초기화한다.

 

그 다음 점수의 총합인 total()함수를 self를 이용하여 만들어준다.입력으로 들어오는 값을 input()과 split()을 이용하여 나눠 입력해 주고 이를 출력해주면 답이 된다.

 

 

 

 

지금은 설명을 쉽게 할 정도로 잘 알지는 못하지만추후에 더 공부할때는 이걸 바탕으로 조금 더 이해하기 쉬웠으면 좋겠다.

문제 출처 : https://swexpertacademy.com/main/main.do

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

※ SW Expert 아카데미는 원칙적으로 문제를 무단 복제하는 것을 금지합니다.

학습용으로 문제를 가져왔으나, 문제가 될 시 수정 및 삭제하겠습니다.