import os, json # This is a sample Python script. # Press Shift+F10 to execute it or replace it with your code. # Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings. class servis: def __init__(self,termin,osoba,znacka): self.termin=termin self.osoba=osoba self.znacka=znacka self.opravy=dict() def pridej_polozku_opravy(self,cinnost,cena): self.opravy[cinnost]=cena def vypis(self): termin=self.termin.ljust(10) osoba=self.osoba.ljust(18) znacka=self.znacka.ljust(8) opravy="" for klic,hodnota in self.opravy.items(): opravy=opravy+klic+":"+hodnota+", " print(f"{termin} {osoba} {znacka} {opravy}") class navstevy: def __init__(self): self.seznam=list() def pridej(self): print("zadání nové návštěvy servisu") termin=input("Zadej termín návštěvy:") osoba=input("Zadej jméno osoby:") znacka=input('Zadej zančku vozu např.: "Škoda" :') opr=servis(termin,osoba,znacka) co=input("Co bylo opraveno:") while co!="": cena=input("zadej cenu:") opr.pridej_polozku_opravy(co,cena) co = input("Co bylo opraveno (pro ukončeni nechte prázdné):") self.seznam.append(opr) def vypis_seznam(self): for polozka in self.seznam: polozka.vypis() def uloz_do_souboru(self): vystup=list() for x in self.seznam: polozka=dict() polozka["termin"]=x.termin polozka["osoba"] =x.osoba polozka["znacka"] =x.znacka polozka["opravy"] = x.opravy vystup.append(polozka) nazev_souboru=input("zadej název souboru:") with open(nazev_souboru, 'w', encoding='utf-8') as f: json.dump(vystup, f, indent=4) def nacti_ze_souboru(self): nazev_souboru = input("zadej název souboru:") if os.path.exists(nazev_souboru): with open(nazev_souboru, 'r', encoding='utf-8') as f: data = json.load(f) self.seznam = list() for io in data: opr = servis(io["termin"], io["osoba"],io["znacka"]) for co,cena in io["opravy"].items(): opr.pridej_polozku_opravy(co,cena) self.seznam.append(opr) # Press the green button in the gutter to run the script. if __name__ == '__main__': seznam_navstev=navstevy() while True: os.system('cls') print() print("+---------+-------------------------------+") print("| Volba | Co mám udělat |") print("+---------+-------------------------------+") print("| 1 | Přidej návštěvu servisu |") print("| 2 | Vypiš seznam |") print("| 3 | Ulož do souboru |") print("| 4 | Načti ze souboru |") print("| konec | Ukonči program |") print("+---------+-------------------------------+") volba=input("Zadej co chceš udělat:") if volba=="konec": break if volba=="1": seznam_navstev.pridej() if volba=="2": seznam_navstev.vypis_seznam() if volba=="3": seznam_navstev.uloz_do_souboru() if volba=="4": seznam_navstev.nact_ze_souboru() # See PyCharm help at https://www.jetbrains.com/help/pycharm/