Książka telefoniczna

Książka telefoniczna
Photo by Johnny Briggs / Unsplash
import json

ksiazka_tele = {}

with open("ksiazka_telefoniczna.json", "r", encoding='utf8"') as plik_json:
    ksiazka_tele = json.load(plik_json)
print("\nKontakty zostały zaczytane z pliku ksiazka_telefoniczna.json.")

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 - wczytanie książki z pliku json
          7 - zapis książki do pliku json
          8 - koniec programu
Podaj kod operacji = """
    )

    if not operacja:
        break

    if operacja == "1":
        print("Wybrano 1")
        imie = input("Podaj imię nowego kontaktu: ")
        num_tel = input("Podaj numer telefonu: ")
        if ksiazka_tele.get(imie) == None:
            ksiazka_tele[imie] = num_tel
            print("Kontakt został dodany.")
        else:
            print(f"{imie} jest już w książce.")

    elif operacja == "2":
        print("Wybrano 2")
        imie = input("Podaj imię istniejącego kontaktu: ")
        num_tel = input("Podaj nowy numer telefonu: ")
        if ksiazka_tele.get(imie) == None:
            print(f'Kontaktu "{imie}" nie ma w książce.')
        else:
            ksiazka_tele[imie] = num_tel
            print("Numer został zaktualizowany.")

    elif operacja == "3":
        print("Wybrano 3")
        imie = input("Podaj imię usuwanego kontaktu: ")
        if ksiazka_tele.get(imie) == None:
            print(f'Kontaktu "{imie}" nie ma w książce.')
        else:
            ksiazka_tele.pop(imie)
            print("Kontakt został usunięty.")
        
    elif operacja == "4":
        print("Wybrano 4")
        for key, value in ksiazka_tele.items() :
            print (f"Imię: {key}")

    elif operacja == "5":
        print("Wybrano 5")
        for key, value in ksiazka_tele.items() :
            print (f"Imię: {key}, numer telefonu: {value}")

    elif operacja == "6":
        print("Wybrano 6")
        with open("ksiazka_telefoniczna.json", "r", encoding='utf8"') as plik_json:
            ksiazka_tele = json.load(plik_json)
        print("Kontakty zostały zaczytane z pliku ksiazka_telefoniczna.json.")

    elif operacja == "7":
        print("Wybrano 7")
        with open("ksiazka_telefoniczna.json", "w", encoding="utf8)") as plik_json:
            json.dump(ksiazka_tele, plik_json, indent=2, sort_keys=True, ensure_ascii=False)
        print("Kontakty zostały zapisane w pliku ksiazka_telefoniczna.json.")

    elif operacja == "8":
        decyzja = input("Czy chcesz zapisać zmiany(T/N)? ")
        if decyzja == "T" or "t":
            with open("ksiazka_telefoniczna.json", "w", encoding="utf8)") as plik_json:
                json.dump(ksiazka_tele, plik_json, indent=2, sort_keys=True, ensure_ascii=False)
            print("Kontakty zostały zapisane w pliku ksiazka_telefoniczna.json.")
        break

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

print("\nKoniec programu")