class Studentsystem: def __init__(self): self._alleFag = [] self._alleStudenter = [] def lesFraFil(self, filNavn): # aapner fil med "r" for lesing fil = open(filNavn, "r") fag = None # gaar gjennom hver linje i filen for linje in fil: # hvis stjerne saa er det fag if linje[0] == "*": # fjerner stjernen fra fagnavnet fagNavn = linje.strip("*") # oppretter et objekt med dette fagnavnet fag = Fag(fagNavn) # legger til fag-objektet i lista # vaar over alle fag self._alleFag.append(fag) # ellers er det en student else: # fjerner "usynlig" linjeskift studentNavn = linje.strip() # prover aa finne student student = self.finnStudent(studentNavn) # hvis studenten ikke finnes i systemet # saa lager vi den if student == None: student = Student(studentNavn) self._alleStudenter.append(student) # maa legge til faget hos studenten student.leggTilFag(fag) # legge til studenten hos faget fag.leggTilStudent(student) fil.close() def finnStudent(self, navn): # for hver student i listen vaar over # alle studenter for student in self._alleStudenter: # sjekk om studenten har samme navn # som parameteren if student.hentStudentNavn() == navn: return student # hvis ingen studenter med samme navn ble # funnet, saa returner None return None def finnFag(self, fagNavn): # for hvert fag i listen vaar over # alle fag for fag in self._alleFag: # sjekk om faget har samme navn # som parameteren if fag.hentFagNavn() == fagNavn: return fag # hvis ingen fag med samme navn ble funnet, # saa returner None return None def navnFraBruker(self): # henter navn fra bruker navn = input("Hva heter personen du vil se oversikten til? ") # forsoeker aa finne student med samme # navn student = self.finnStudent(navn) # hvis studenten ikke finnes i systemet if student == None: print("Studenten finnes ikke i studentsystemet.") # hvis studenten finnes else: student.skrivFagPaaStudent() def fagFraBruker(self): fagNavn = input("Hva heter faget du vil se overskten til? ") fag = self.finnFag(fagNavn) if fag == None: print("Faget finnes ikke i studentsystemet.") else: fag.skrivStudenterVedFag() def hovedprogram(): # oppretter en instans av klassen Studentsystem system = Studentsystem() # kalles paa dens lesFraFil-metode system.lesFraFil("emnestudenter.txt") # forsoeker aa finne student med navn Emilie # i studentsystemet funnetStudent = system.finnStudent("Emilie") # hvis studenten ikke ble funnet if funnetStudent is not None: print("Ja, fant studenten!") # hvis studenten ble funnet else: print("Nei, studenten finnes ikke.")