코드 6-29 oop1/oop1_3/datahandler.py ③
def evaluate_class(self, total_avrg, sd): #7 avrg = self.get_average() std_dev = self.get_standard_deviation() if avrg <total_avrg and std_dev >sd: print("성적이 너무 저조하고 학생들의 실력 차이가 너무 크다.") elif avrg > total_avrg and std_dev >sd: print("성적은 평균 이상이지만 학생들의 실력 차이가 크다. 주의 요망!") elif avrg < total_avrg and std_dev <sd: print("학생들의 실력 차이는 크지 않지만 성적이 너무 저조하다. 주의 요망!") elif avrg > total_avrg and std_dev <sd: print("성적도 평균 이상이고 학생들의 실력 차이도 크지 않다.") def get_evaluation(self, total_avrg, sd = 20): #8 print('*' * 50) print('{} 반 성적 분석 결과'.format(self.year_class)) print( "{0}반의 평균은 {1}점이고 분산은 {2}이며 따라서 표준편차는 {3}이다".format( self.year_class, self.get_average(), self.get_variance(), self.get_standard_deviation())) print('*' * 50) print('{} 반 종합 평가'.format(self.year_class)) print('*' * 50) self.evaluate_class(total_avrg, sd)
evaluate_class() 메서드는 주어진 평균, 전체 평균, 표준편차를 이용해 학급의 성적을 평가합니다(#7). get_evaluation() 메서드는 최종적으로 학급의 평균, 분산, 표준편차, 종합 평가를 출력합니다(#8).