class Gruppe: def __init__(self, liste): self._krav = liste self._personer = [] def legg_til_personer(self, liste_personavn): for person in liste_personavn: self._personer.append(navn) def hent_personer(self): return self._personer def hent_krav(self): return self._krav class Rom: def __init__(self, romnr, ant_senger, fasiliteter): self._romnr = romnr self._ant_senger = ant_senger self._fasiliteter = fasiliteter self._gjester = [] #Rom starter med 0 gjester self._opptatt = False def reserver(self, liste_gjester): self._gjester = liste_gjester self._opptatt = True def hent_ant_senger(self): return self._ant_senger def passer(self, liste_fasiliteter): if self._opptatt: return False for fasilitet in liste_fasiliteter: if fasilitet not in self._fasiliteter: return False return True def __str__(self): streng = "" #tom streng += "Romnr: " + str(self._romnr) #"" + "Romnr: " + 10 streng += "Antall senger: " + str(self._ant_senger) #"Romnr: 10" + "Antall senger" + 4 for fasilitet in self._fasiliteter: streng += "Fasilitet: " + fasilitet #"Romnr: 10 Antall senger: 4 + Balkong return streng #Romnr: 10 Antall senger: 4 Fasilitet: Balkong, Fasilitet: Dobelseng, Bad class Hotell: def __init__(self, hotellnavn): self._hotellnavn = hotellnavn self._rom = {} # {'rom_nr' : Rom} self._les_inn_rom() def _les_inn_rom(self): fil = open(self._hotellnavn) for linje in fil: deler = linje.strip().split() ant_fas = len(deler) rom_nr = deler[0] ant_senger = deler[1] fasiliteter = [] for indeks in range(2, ant_fas): fasiliteter.append(deler[indeks]) self._rom[rom_nr] = Rom(int(rom_nr), int(ant_senger), fasiliteter) def reserver_rom(self, rom_nr, gjester): # {'rom_nr' : Rom} rom_objekt = self._rom[rom_nr] rom_objekt.reserver(gjester) def finn_passende_rom(self, krav_liste): rom = [] for rom_nr in self._rom: dette_rommet = self._rom[rom_nr] if dette_rommet.passer(krav_liste): rom.append(dette_rommet) return rom