# 4a class Gruppe: def __init__(self, krav_til_fasisiliteter): self._krav = krav_til_fasisiliteter self._personer = [] def legg_til_personer(self, navn_liste): self._personer += navn_liste def hent_personer(self): return self._personer def hent_krav(self): return self._krav # 4b) class Rom: def __init__(self, romnr, ant_senger, fasilitets_liste): self._romnummer = romnr self._ant_senger = ant_senger self._fasiliteter = fasilitets_liste self._gruppe = None self._ledig = True #obs p? at vi her overskriver gruppen som bor her. def reserver(self, navn_gjester): self._gruppe = navn_gjester self._ledig = False def hent_ant_senger(self): return self._ant_senger def passer(self, krav_liste): for krav in krav_liste: if krav not in self._fasiliteter: return False # if self._ledig: # return True # else: # return False return self._ledig def passer1(self, krav_liste): if self._grupper is not None: return False for krav in krav_liste: if krav not in self._fasiliteter: return False return True def __str__(self): return f"Romnummer: {self._romnummer}, har {self._ant_senger} senger, og fasilitetene: {self._fasiliteter}" # 4c) class Hotell: def __init__(self, hotellnavn): self._hotellnavn = hotellnavn self._hotellrom = {} self._les_inn_fra_fil2() # lager en hjelpemetode for ? lese inn rominfo fra fil # ryddigere enn ? kode masse i konstrukt?ren :p def _les_inn_rom_fra_fil(self): filnavn = f"{self._hotellnavn}.txt" fil = open(filnavn, "r") for linje in fil: linje = linje.strip() linje = linje.split() fasiliteter = [] for fasilitet in linje[2:]: fasiliteter.append(fasilitet) romnr = linje[0] senge_plasser = int(linje[1]) rom = Rom(romnr, senge_plasser, fasiliteter) self._hotellrom[romnr] = rom fil.close() # denne er ikke helt ferdig, men veldig close! def _les_inn_fra_fil2(self): for linje in open(f"{self._hotellnavn}.txt", "r"): i = 2 biter = linje.strip().split() fasiliteter = [] for biter[i] in linje: fasiliteter.append(biter[i]) i += 1 self._hotellrom[int(biter[0])] = Rom(int(biter[0]), int(biter[1]), fasiliteter) # litt liste-splicing def t2(): liste = ["gulrot", "brokkoli", "k?l", "agurk", "tomat"] print(liste[1:3]) t2() # tester forskjell p? += og append mellom/p? lister def t1(): liste1 = [1, 2, 3] liste2 = [ 4, 5 , 6] liste3 = liste1 + liste2 liste4 = ["agurk", "gulrot"] liste5 = ["brokkoli", "k?l"] liste4.append(liste5) print(liste3) print(liste4)