학생 클래스
학생의 이름과 여러 점수를 저장하고 합계와 평균을 계산하는 Student 클래스를 작성하시오.
작성할 클래스
다음 형태의 클래스를 작성한다.
class Student:
def __init__(self, name):
# 코드를 작성하세요.
def get_name(self):
# 코드를 작성하세요.
def add_score(self, score):
# 코드를 작성하세요.
def get_total(self):
# 코드를 작성하세요.
def get_average(self):
# 코드를 작성하세요.
- 생성자
__init__(name)은 학생의 이름name을 저장하고 빈 점수 목록을 만든다. get_name()은 저장된 이름을str로 반환한다.add_score(score)는 점수 목록에 정수score를 추가하고 값을 반환하지 않는다.get_total()은 저장된 모든 점수의 합을int로 반환한다.get_average()는 저장된 모든 점수의 평균을float로 반환한다.
클래스를 사용하는 코드
작성한 클래스는 아래 코드와 함께 실행된다.
name = input()
n = int(input())
scores = list(map(int, input().split()))
student = Student(name)
result = student.get_name()
print(result)
print(type(result))
for score in scores:
result = student.add_score(score)
print(type(result))
result = student.get_total()
print(result)
print(type(result))
result = student.get_average()
print(result)
print(type(result))
위 코드가 정상적으로 동작하도록 클래스를 작성한다. 제출할 때는 작성한 클래스의 정의 전체만 제출한다. 입력을 받거나 객체를 생성하는 코드는 제출하지 않는다.
입력
첫째 줄에 학생의 이름 name이 주어진다.
둘째 줄에 점수의 개수 \(N\)이 주어진다.
셋째 줄에 \(N\)개의 정수 점수가 공백으로 구분되어 주어진다.
name은 알파벳 대소문자로 이루어진 길이 1 이상 20 이하의 문자열이다.- \(1 \le N \le 100\)
- 각 점수는 \(0\) 이상 \(100\) 이하이다.
출력
학생의 이름과 반환 자료형, add_score()의 반환 자료형을 출력한다.
그다음 점수의 합계와 반환 자료형, 평균과 반환 자료형을 출력한다.
각 메서드를 호출한 뒤에는 반환값의 자료형도 출력한다.
예제 입력 1
Alice
3
80 90 100
예제 출력 1
Alice
<class 'str'>
<class 'NoneType'>
270
<class 'int'>
90.0
<class 'float'>
예제 설명 1
Student("Alice")로 객체를 만들면 이름은 Alice로 저장되고 점수 목록은 비어 있다. get_name()은 이름 Alice를 str로 반환한다.
add_score()를 차례대로 호출하여 80, 90, 100을 저장한다. add_score()는 값을 반환하지 않는다.
저장된 점수의 합은 \(80+90+100=270\)이므로 get_total()은 270을 int로 반환한다. 평균은 \(270 \div 3=90.0\)이므로 get_average()는 90.0을 float로 반환한다.
예제 입력 2
Bob
1
0
예제 출력 2
Bob
<class 'str'>
<class 'NoneType'>
0
<class 'int'>
0.0
<class 'float'>
코멘트