Mini książka kontaktowa z odczytaniem i zapisaniem danych w JSON

Mini książka kontaktowa z odczytaniem i zapisaniem danych w JSON
Photo by Bernard Hermant / Unsplash

Poniżej przedstawiam kod do stworzenia mini książki kontaktowej.

from os import system, name
import json
   
ksiazka_tele = {}

with open("kontaktowa_utf.json", "r", encoding="UTF-8") as kontakty:
    ksiazka_tele = json.load(kontakty)
while True:
 
    operacja = input("""
        Wybierz operację do wykonania:
                  1 - dopisanie pozycji do książki
                  2 - aktualizacja pozycji książki
                  3 - usunięcie pozycji książki
                  4 - wydruk imion z książki
                  5 - wydruk całej książki telefonicznej
                  6 - koniec programu
        Podaj kod operacji = """
    )

    if not operacja:
        break

   
    if operacja == "1":
        print("Wybrano 1 - dopisanie pozycji do ksiazki")
        nowe_imie = input("Wpisz imie/nazwe dla nowego wpis: ")
        if nowe_imie in ksiazka_tele:
            print("---------")
            print("Taki kontakt już istnieje.\nJeśli chcesz zaktualizwoać - wybierz 2.\nJeśli chcesz usunąć - wybierz 3. ")
            print("---------")
        else: 
            dane_kontaktowe = input("Wpisz numer kontaktowy: ")
            ksiazka_tele[nowe_imie] = dane_kontaktowe
     
        

    elif operacja == "2":
        print("Wybrano 2 - aktualizacja pozycji książki")
        imie = input("Podaj imie/nazwe: ")
        dane_kontaktowe = input("Podaj zaktualizowany numer kontaktowy: ")
        ksiazka_tele[imie] = dane_kontaktowe


    elif operacja == "3":
        print("Wybrano 3 - usunięcie pozycji książki")
        imie = input("Podaj imie/nazwe komtaktu do usuniecia: ")
        ksiazka_tele.pop(imie)
        print("-------------")
        print(f"Kontakt {imie} został usunięty")


    elif operacja == "4":
        print("Wybrano 4 - wydruk imion z książki")
        print(ksiazka_tele.keys())

    elif operacja == "5":
        print("Wybrano 5 - wydruk całej książki telefonicznej")
        for imie, wpis in ksiazka_tele.items():
            print(f"Imie/nazwa: {imie}")
            print(f"Numer kontaktowy: {wpis}")
            print("------------------")

    elif operacja == "6":
        wybor =input("wybrano 6 - koniec programu.\n Czy zapisać zmiany?\n0-NIE\n1-TAK\n")
       
        if wybor == "0":
            print("-----------")
            print("Wprowadzone zmiany nie zostały zapisane.")
        elif wybor == "1":
            with open("kontaktowa_utf.json", "w", encoding="UTF-8") as kontakty:
                json.dump(ksiazka_tele, kontakty, indent=4, sort_keys=True, ensure_ascii=False)
            print("-------------")
            print("Wprowadzone zmiany zostały zapisane.")

           
        break

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


print("\nKoniec programu!!!")