class Produkt: def __init__(self, navn, pris): self._navn = navn self._pris = pris def hent_navn(self): return self._navn def hent_pris(self): return self._pris def __str__(self): return "Produkt: " + self._navn + " med pris: " + str(self._pris) class Leverand?r: def __init__(self, navn, kontaktperson): self._navn = navn self._kontaktperson = kontaktperson self._produkter = [] def hent_navn(self): return self._navn def hent_kontaktperson(self): return self._kontaktperson def legg_til_produkt(self, prod_navn, pris): nytt_produkt = Produkt(prod_navn, pris) self._produkter.append(nytt_produkt) def har_produkt(self, varenavn): for vare in self._produkter: if vare.hent_navn() == varenavn: return True return False def hent_pris(self, varenavn): for vare in self._produkter: if vare.hent_navn() == varenavn: return vare.hent_pris() return None def __str__(self): info = "Leverand?r: " + self._navn + "\n" info += "Kontaktperson: " + self._kontaktperson + "\n" info += "Vareliste:\n" if self._produkter == []: info += "Ingen varer\n" for vare in self._produkter: info += "- " + str(vare) + "\n" return info class Bestillingssystem: def __init__(self): self._leverand?rer = {} self._fortjenste = 0 def legg_til_leverand?r(self, navn, kontaktperson): ny_leverand?r = Leverand?r(navn, kontaktperson) self._leverand?rer[navn] = ny_leverand?r def fjern_leverand?r(self, navn): if navn in self._leverand?rer.keys(): self._leverand?rer.pop(navn) else: print("Fant ikke leverand?r, kan ikke slette") def finnes_leverand?r(self, navn): return navn in self._leverand?rer.keys() def legg_til_vare(self, lev_navn, varenavn, pris): if not self.finnes_leverand?r(lev_navn): print("Leverand?r ikke funnet") else: self._leverand?rer[lev_navn].legg_til_produkt(varenavn, pris) def finnes_vare(self, varenavn): for leverand?r in self._leverand?rer.values(): if leverand?r.har_produkt(varenavn): return True return False def bestill_vare(self, varenavn): if not self.finnes_vare(varenavn): return False for leverand?r in self._leverand?rer.values(): if leverand?r.har_produkt(varenavn): pris = leverand?r.hent_pris(varenavn) self._fortjenste += pris bestilling = "Bestiller hos: " + leverand?r.hent_navn() + "\n" bestilling += "Kontakt for bestilling: " + leverand?r.hent_kontaktperson() + "\n" bestilling += "Prisen er: " + str(pris) print(bestilling) return True def __str__(self): info = "" for leverand?r in self._leverand?rer.values(): info += str(leverand?r) + "\n" return info def hovedprogram(): system = Bestillingssystem() valg = "" while valg != "5": print() print("Velg fra listen:") print("1: legg til leverand?r") print("2: legg til vare") print("3: bestill vare") print("4: print ut alle leverand?rer og varer") print("5: avslutt systemet, ha det bra") valg = input("Tast ditt valg: ") print() if valg == "1": lev_navn = input("Tast leverand?rens navn: ") lev_person = input("Tast kontaktperson: ") system.legg_til_leverand?r(lev_navn, lev_person) elif valg == "2": varenavn = input("Tast varens navn: ") lev_navn = input("Tast leverand?rens navn: ") pris = int(input("Tast pris: ")) system.legg_til_vare(lev_navn, varenavn, pris) elif valg == "3": varenavn = input("Tast vare som ?nskes bestilt: ") system.bestill_vare(varenavn) elif valg == "4": print(system) elif valg == "5": print("Takk for i dag") else: print("Ugyldig valg") hovedprogram()