diff --git a/muistikirja.py b/muistikirja.py new file mode 100644 index 0000000000000000000000000000000000000000..b5fe362e2e776a5f7247a0a1d1ef8598167310a1 --- /dev/null +++ b/muistikirja.py @@ -0,0 +1,98 @@ +def valikko(): + while True: + print("Valitse toiminto kirjoittamalla haluamasi valikon numero:") #toimii + print("1. Lisää uusi merkintä.") #toimii + print("2. Listaa kaikki merkinnät.") #toimii + print("3. Etsi merkintä.") #toimii + print("4. Poista merkintä.") #toimii + print("5. Salaa merkintä.") + print("6. Pura merkinnän salaus.") + print("7. Tallenna merkintä tiedostoon.") + print("8. Lataa merkinnät tiedostosta.") + print("9. Poistu ja palaa valikkoon.") #toimii + + valinta = int(input("Valintasi: ")) + if valinta == 1: + uusi = input("Anna uusi merkintä:") + lista.append(uusi) + print("Merkintä lisätty listaan.") + + elif valinta == 2: + print("Tässä lista kaikista merkinnöistä: ") + print(lista) + + elif valinta == 3: + indeksi = 0 + haku = input("Anna hakusana: ") + for uusi in lista: + if haku in uusi: + print(uusi) + indeksi = indeksi +1 + + if indeksi == 0: + print("Hakemaasi merkintää ei löytynyt listalta. Tarkista oikeinkirjoitus.") + + + elif valinta == 4: + poistettava = input("Anna merkintä, minkä haluat poistaa: ") + if poistettava in lista: + lista.remove(poistettava) + print("Antamasi merkintä on nyt poistettu listalta.") + else: + print("Antamaasi merkintää ei ollut listalla.") + + elif valinta == 5: + salattava = input("Minkä merkinnän haluat salata?:") + salaa(salattava) + + elif valinta == 6: + purettava = input("Minkä merkinnän salauksen haluat purkaa?:") + pura(purettava) + + elif valinta == 7: + tnimi = input("Anna nimi tiedostolle, johon haluat tallentaa merkinnät: ") + tallennatiedostoon(tnimi) + + elif valinta == 8: + tiedosto = input("Anna tiedoston nimi, jonka tiedot haluat avata.") + avaatiedosto(tiedosto) + + + + + + + +def salaa(salattava:str) -> list: + #funktio tekee kopion alkuperäisestä listasta. Poistaa alkuperäisestä listasta salattavan alkion. + +def pura(purettava:str) -> list: + #funktio korvaa käytössä olevan listan kopiolla joka sisältää aiemmin salatun alkion. Mikäli listaan on lisätty merkintöjä salaamisen jälkeen, tulevat nämäkin listaan jotenkin mukaan. + +def tallennatiedostoon(tnimi:str) -> none: + #funktio ottaa listan, ja tallentaa sen tiedot tiedostoon yksi merkintä per rivi. + +def avaatiedosto(tiedosto:str) -> list: + #funktio ottaa käyttäjän antaman tiedostonimen, etsii sen koneelta ja avaa sen. Funktio erittelee merkinnät rivivaihdon mukaan ja tallentaa tiedoston sisällön listaan jossa yksi rivi on yksi alkio. + + + + + + +lista = [] + + +valikko() + + + + + + +#etsi +#poista +#salaa +#pura +#tallenna +#lataa