from student import Student from fag import Fag class Studentsystem: """ Lag en klasse "studentsystem (duh)". Skriv konstruktøren. Denne skal ved opprettelse ikke ta inn noen parametre, men skal lage - én tom liste som skal holde på studenter og - én tom liste som skal holde på fag. """ def __init__(self): self._alleStudenter = [] self._alleFag = [] """ Lag en metode i studentsystem som håndterer innlesing fra fil, hvor filnavnet sendes med som parameter. All studenter skal legges inn i listen over studenter og alle fag inn i listen over fag. Pass på så du ikke bruker duplikater av studenter (anta at alle har et unikt navn) Merk: meld studentene opp i faget. Og faget må legges til i studentenes liste. -- 1.3 lag en metode i studentsystem som finner og returnerer en Student basert på navn. Metoden skal returnere None om vi ikke finner studenten. """ def lesFil(self, filnavn): fil = open(filnavn, "r") fag = None for linje in fil: if linje[0] == "*": # linje[1:] = fagnavn fag = Fag(linje[1:].strip()) self._alleFag.append(fag) # else, legge til student else: stud = self.hentStudentNavn(linje) if stud == None: stud = Student(linje.strip()) self._alleStudenter.append(stud) fag.leggTilStudent(stud) stud.leggTilFag(fag) fil.close() def hentStudentNavn(self, navn): for student in self._alleStudenter: if student.hentStudentNavn() == navn: return student return None def hentFagVedNavn(self, fagnavn): for fag in self._alleFag: if fag.hentFagnavn() == fagnavn: return fag return None def skrivStudent(self): navn = input("Hva heter studenten du søker etter?\n > ") student = self.hentStudentNavn(navn) if student == None: print("Fant ikke studenten") else: student.skrivAlleFag() def skrivFag(self): fagnavn = input("Hva heter faget du leter etter?\n > ") fag = self.hentFagVedNavn(fagnavn) if fag == None: print("Fant ikke faget") else: print(fagnavn) fag.skrivStudenterVedFag() # Noe sånn som dette ... # def leggTilEnkeltStudent(self): # navn = input("navn? ") # fag = input("hvilke fag, skill med mellomrom ") # fagliste = fag.split() # # stud = Student(navn) # for f in fagliste: # stud.leggTilFag(Fag(f)) # if __name__ == "__main__": system = Studentsystem() system.lesFil("test.txt") while True: system.skrivStudent() system.skrivFag()