Lekcja 8 - Pliki KP

Lekcja 8 - Pliki KP
Photo by Kara Eads / Unsplash
# Przyjmijmy prosty schemat wpisu do ksiazki:
# klucz to ciąg znaków imienia (string)
# - jak ktoś wpisze imie i nazwisko też będzie ok ,
# wartością będzie lista z nr. tel (string) i opisem (string)
import json

ksiazka_tele = {"c":4}


while True:
    # Zapytanie o wybranie operacji
    operacja = input(
        "Wybierz operację do wykonania:\n\
                  1 - dopisanie pozycji do książki\n\
                  2 - aktualizacja pozycji książki\n\
                  3 - usunięcie pozycji książki\n\
                  4 - wydruk imion z książki\n\
                  5 - wydruk całej książki telefonicznej\n\
                  6 - wczytaj ksiazke z pliku\n\
                  7 - zapisz ksiazke do pliku\n\
                  8 - koniec programu\nPodaj kod operacji = "
    )

    if not operacja:
        break

    # Wykonanie wybranej operacji
    if operacja == "1":
        print("Wybrano 1")
        imie = input("Podaj imie: ")
        if imie in ksiazka_tele.keys():
            print("Imię już istnieje")
        else:
            telefon = input("Podaj numer telefonu: ")
            ksiazka_tele[imie] = telefon

    elif operacja == "2":
        print("Wybrano 2")
        imie = input("Podaj imie, ktore chcesz edytowac: ")
        if imie in ksiazka_tele.keys():
            telefon = input("Podaj numer telefonu: ")
            ksiazka_tele[imie] = telefon
        else:
            print("Nie ma takiego imienia w ksiazce")

    elif operacja == "3":
        print("Wybrano 3")
        imie = input("Podaj imie do usuniecia: ")
        if imie in ksiazka_tele.keys():
            ksiazka_tele.pop(imie)
        else:
            print("Nie ma takiego imienia w ksiazce")


    elif operacja == "4":
        print("Wybrano 4")
        imiona = list(ksiazka_tele.keys())
        print("Imiona:")
        for i in range(len(imiona)):
            print(f"{imiona[i]}")
            i += 1  

    elif operacja == "5":
        print("Wybrano 5")
        print("Imie | Telefon")
        dane = list(ksiazka_tele.items())
        for i in range(len(dane)):
            print(f"{dane[i][0]} | {dane[i][1]}")
            i+=1
    elif operacja == "6":
        with open("ksiazka.json", "r") as plik:
            odczytany_slownik = json.load(plik)
        for i in odczytany_slownik.items():
            ksiazka_tele[i[0]] = i[1]
    
    elif operacja == "7":          
        with open("ksiazka.json", "w") as plik:
            json.dump(ksiazka_tele, plik, indent=2)

    elif operacja == "8":
        break

    else:
        print("\nPodano błędny kod operacji")


# Koniec programu
print("\nKoniec programu")