1 changed files with 59 additions and 0 deletions
@ -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 |
|||
Loading…
Reference in new issue