#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http 제목[표준답안] 2025년도 2학기 오프라인수업 기말고사2025-12-04 08:07작성자drsungwon class Agent: def api_00(self, filename): # Practice.13 참조 self.students = [] f = open(filename, 'r') f.readline() for line in f: parts = line.strip().split(',') s = { 'No': int(parts[0]), 'Department': parts[1], 'Grade': int(parts[2]), 'Student_ID': parts[3], 'Name': parts[4], 'Absence': int(parts[5]), 'Attendance_Score': float(parts[6]), 'Final_Exam': int(parts[7]), 'Middle_Exam': int(parts[8]), 'Final_Score': float(parts[9]), 'Final_Grade': parts[10], } self.students.append(s) f.close() return len(self.students) def _calculate_average(self, field, department=None, grade=None): total = 0.0 cnt = 0 for s in self.students: if department is not None and s['Department'] != department: continue if grade is not None and s['Grade'] != grade: continue total += s[field] cnt += 1 return total / cnt def api_01(self): return self._calculate_average('Final_Score') def api_02(self): return self._calculate_average('Middle_Exam') def api_03(self): return self._calculate_average('Final_Exam') def api_04(self, given_dept): return self._calculate_average('Final_Score', department=given_dept) def api_05(self, given_dept): return self._calculate_average('Middle_Exam', department=given_dept) def api_06(self, given_dept): return self._calculate_average('Final_Exam', department=given_dept) def api_07(self, given_grade): return self._calculate_average('Final_Score', grade=given_grade) def api_08(self, given_dept, given_grade): return self._calculate_average('Final_Score', department=given_dept, grade=given_grade)class SuperAgent(Agent): def api_09(self): max_score = None for s in self.students: fs = s['Final_Score'] if (max_score is None) or (fs > max_score): max_score = fs ids = [] for s in self.students: if s['Final_Score'] == max_score: ids.append(s['Student_ID']) ids.sort() return ids def api_10(self, department): ids = [] for s in self.students: if s['Department'] == department: ids.append(s['Student_ID']) ids.sort() return ids def api_11(self, absence_threshold): ids = [] for s in self.students: if s['Absence'] > absence_threshold: ids.append(s['Student_ID']) ids.sort() return ids def api_12(self): ids = [] for s in self.students: if (s['Final_Exam'] == 0 and s['Middle_Exam'] == 0) or (s['Absence'] >= 6): ids.append(s['Student_ID']) ids.sort() return ids def api_13(self, department): ids = [] for s in self.students: if s['Department'] != department: continue if (s['Final_Exam'] == 0 and s['Middle_Exam'] == 0) or (s['Absence'] >= 6): ids.append(s['Student_ID']) ids.sort() return ids def api_14(self): counts = {} for s in self.students: g = s['Final_Grade'] if g in counts: counts[g] += 1 else: counts[g] = 1 return counts def api_15(self): groups = {} for s in self.students: g = s['Final_Grade'] if g not in groups: groups[g] = [] groups[g].append(s['Student_ID']) for g in groups: groups[g].sort() return groups def api_16(self): out = [] for s in self.students: out.append([s['Student_ID'], s['Final_Grade']]) out.sort() return out def api_17(self): out = [] for s in self.students: out.append([s['Student_ID'], s['Name'], s['Final_Grade']]) out.sort() return out def api_18(self): out = [] for s in self.students: if s['Final_Score'] >= 80 and s['Absence'] <= 2: out.append([s['Student_ID'], s['Name'], s['Final_Grade']]) out.sort() return out 목록답변글쓰기 댓글 [0] 댓글작성자(*)비밀번호(*)내용(*) 댓글 등록 더보기이전[공지] 청강자료, 수업주의사항, 오라일리전자도서, 종강후학습drsungwon 2018-09-06다음기말고사 기출 파일 오류웹파 온라인 수강생2025-12-01 Powered by MangBoard | 워드프레스 쇼핑몰 망보드