class Studentsystem: def __init__(self): self._studenter = [] self._fag = [] def lesFil(self, filnavn): fil = open(filnavn) fag = None for linje in fil: if linje[0] == "*": fag = Fag(linje[1:-1]) self._fag.append(fag) else: stud = self.finnStudent(linje[:-1]) if stud == None: stud = Student(linje[:-1]) self._studenter.append(stud) fag.leggTilStudent(stud) stud.leggTilFag(fag) fil.close() def finnStudent(self, navn): for student in self._studenter: if student.hentStudentNavn() == navn: return student return None def finnFag(self, fagnavn): for fag in self._fag: if fag.hentFagNavn() == fagnavn: return fag return None def skrivStudent(self): studentNavn = input("Hvilken student søker du etter? ") student = self.finnStudent(studentNavn) if student != None: student.skrivFagPaaStudent() else: print(studentNavn + " finnes ikke i systemet.") def skrivFag(self): fagNavn = input("Hvilket fag søker du etter?") fag = self.finnFag(fagNavn) if fag == None: print(fagNavn + " finnes ikke i systemet.") else: fag.skrivStudenterVedFag() def finnStudentMedFlestFag(self): studentMFlest = None maks = 0 for student in self._studenter: antallFag = student.hentAntallFag() if antallFag > maks: studentMFlest = student maks = antallFag print("Student med flest fag: " + studentMFlest.hentStudentNavn()) print("Har " + maks + " fag.") def finnFagMedFlestStudenter(self): fagMFlest = None maks = 0 for fag in self._fag: antallStudenter = fag.hentAntallStudenter() if antallStudenter > maks: fagMFlest = fag maks = antallStudenter print("Faget med flest studenter: " + fagMFlest.hentFagNavn()) print("Har " + maks + " studenter.") def leggTilStudent(self, navn): if self.finnStudent(navn) != None: print(navn + " finnes allerede.") else: self._studenter.append(Student(navn)) print(navn + " er lagt til.") def leggTilFag(self, fag): if self.finnFag(fag) == None: self._fag.append(Fag(fag)) print(fag + " er lagt til.") else: print(fag + " finnes allerede.") def leggTilStudentIFag(self, studentNavn, fagNavn): student = self.finnStudent(studentNavn) if student == None: print(studentNavn + " finnes ikke. Registrer studenten først.") return fag = self.finnFag(fagNavn) if fag == None: print(fagNavn + " finnes ikke. Registrer faget først.") return if student.tarFag(fag) == False: student.leggTilFag(fag) fag.leggTilStudent(student) print(studentNavn + " er lagt til i " + fagNavn)