From c8f1cece467181d66f01fd47ef233e801ec4ca44 Mon Sep 17 00:00:00 2001 From: KubMakCZ Date: Mon, 16 Mar 2026 09:40:26 +0100 Subject: [PATCH] wip --- 29_spravce_poznamek/spravce.py | 59 ++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 29_spravce_poznamek/spravce.py diff --git a/29_spravce_poznamek/spravce.py b/29_spravce_poznamek/spravce.py new file mode 100644 index 0000000..0f5032e --- /dev/null +++ b/29_spravce_poznamek/spravce.py @@ -0,0 +1,59 @@ +# 1. část funkce +def pridej_poznamku(poznamky,autor,text): + """Přidá novou poznámku (slovník) do seznamu""" + nova = { + "autor":autor, + "text":text, + "dulezita":False + } + poznamky.append(nova) + +def zobraz_poznamky(poznamky): + """Vypíše všechny poznámky. Duležité oznáčí [!]""" + if len(poznamky) == 0: + print("Žádné poznámky") + return + for i,pozn in enumerate(poznamky): + znacka = " [!]" if pozn["dulezita"] else "" + print(f"[{i+1}.] {pozn['autor']}:{pozn['text']}{znacka}") + +def oznac_duleziou(poznamky,cislo): + """označí poznámku jako důležitou. Vrací True/False podle úspěchu""" + if 1<=cislo<=len(poznamky): + poznamky[cislo-1]["dulezite"] = True + return True + return False #return ukončuje def (funkci), proto můžeme napsat return false bez else + +def uloz_do_souboru(poznamky,nazev_souboru): + """Uloží poznámky do textového souboru (formát: autor|text|True/False)""" + with open(nazev_souboru,mode="w",encoding="utf-8") as f: + for pozn in poznamky: + # | = AltGR + W + radek = f"{pozn['autor']}|{pozn['text']}|{pozn['dulezita']}\n" + f.write(radek) + print(f"Zloženo {len(poznamky)} poznámek do {nazev_souboru}") + +def nacti_ze_souboru(nazev_souboru): + """Načte poznámky zer souboru a vráti je jako seznam (pole) slovníků.""" + poznamky = [] + try: + with open(nazev_souboru,mode="r",encoding="utf-8") as f: + for radek in f: + casti = radek.strip().split("|") + if len(casti) == 3: + poznamka = { + "autor":casti[0], + "text":casti[1], + "dulezita":casti[2] == "True" + } + poznamky.append(poznamka) + print(f"načteno {len(poznamky)} poznámek") + except FileNotFoundError: + print("Soubor nenalezen, začíname s prázným seznamem.") + return poznamky + +# 2. část hlavní (funkce) programu + + + +# 3. spuštění hlavního programu \ No newline at end of file