from student import Student from fag import Fag class Studentsystem: def __init__(self, filnavn = None): self._alleStudenter = [] self._alleFag = [] if filnavn: self.lesFraFil(filnavn) def skrivValg(self): print("0: Avslutt") print("1: leggTilStudent") print("2: leggTilFag") print("9: Skriv valgene") def ordreloekke(self): sjekk = True while sjekk: valg = int(input("Skriv inn ditt valg:")) if valg == 0: sjekk = False elif valg == 1: pass elif valg == 2: pass elif valg == 3: pass print("Hadebra!") #self.ordreloekke() def lesFraFil(self, filnavn): fag = None for linje in open(filnavn): linje = linje.strip() if linje[0] == "*": fag = Fag(linje[1:]) self.leggTilFag(fag) #print("La til fag!") else: nyStudent = Student(linje) self.leggTilStudent(nyStudent) self.meldStudentOppIFag(nyStudent, fag) def skrivUtAlleStudenterTilFag(self, fagnavn): fag = self.finnFag(fagnavn) if fag != None: fag.skrivStudenterVedFag() else: print("Faget", fagnavn, "finnes ikke.") def meldStudentOppIFag(self, student, fag): nyStudent = self.finnStudent(student.hentStudentNavn()) nyttFag = self.finnFag(fag.hentFagNavn()) nyStudent.leggTilFag(nyttFag) nyttFag.leggTilStudent(nyStudent) def leggTilStudent(self, student): nyStudent = self.finnStudent(student.hentStudentNavn()) if not nyStudent: self._alleStudenter.append(student) return True return False def leggTilFag(self, fag): if not self.finnFag(fag.hentFagNavn()): self._alleFag.append(fag) return True return False def finnFag(self, navn): for fag in self._alleFag: if fag.hentFagNavn() == navn: return fag return None def finnStudent(self, navn): for student in self._alleStudenter: if student.hentStudentNavn() == navn: return student return None ''' system = Studentsystem() ole = Student("Ole") dole = Student("Dole") in1000 = Fag("IN1000") in1020 = Fag("IN1020") assert system.leggTilStudent(ole), "Fikk ikke lagt til ole som ny student" assert system.leggTilStudent(dole) assert not system.leggTilStudent(ole), "Systemet la til ole to ganger" assert system.leggTilFag(in1000), "Fikk ikke lagt til in1000" assert system.leggTilFag(in1020), "Fikk ikke lagt til in1020" system.meldStudentOppIFag(ole, in1000) system.skrivUtAlleStudenterTilFag("IN1000") ''' system = Studentsystem("emnestudenter.txt") system.skrivUtAlleStudenterTilFag("MAT1001") system.skrivUtAlleStudenterTilFag("MAT1100") #system.ordreloekke() while True: pass