Książka kontaktowa

Książka kontaktowa
Photo by Unseen Studio / Unsplash

Propozycja wykonania książki kontaktowej:

from os import system, name
import json

ksiazka_tele = {}

with open("ksiazka_kontaktowa.json", "r", encoding="utf8") as ksiazka_kontaktowa:
            ksiazka_tele = json.load(ksiazka_kontaktowa)

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 - zapisz do pliku json
                  7 - wczytaj plik json 
                  8 - koniec programu
        Podaj kod operacji = """
    )

    if not operacja:
        break

    if operacja == "1":
        print("Wybrano 1")
        nowy_wpis = input("Wprowadź imię: ")
        nowy_numer = input("Podaj numer: ")
        if nowy_wpis in ksiazka_tele:
            print("Taki kontakt istnieje. Jeśli chcesz edytować skorzystaj z operacji nr 2")
        else: 
            ksiazka_tele[nowy_wpis] = nowy_numer
            print(f"Wprowadzono nowy kontakt:\n{nowy_wpis}: {nowy_numer}")

    elif operacja == "2":
        print("Wybrano 2")
        edytowany_wpis = input("Wprowadź osobę do edycji: ")
        edytowany_numer = input("Wprowadź nowy numer: ")
        ksiazka_tele[edytowany_wpis] = edytowany_numer
        print(f"Edytowano kontakt:\n{edytowany_wpis}: {edytowany_numer}")

    elif operacja == "3":
        print("Wybrano 3")
        usuwany_wpis = input("Wprowadź kontakt do usunięcia: ")
        ksiazka_tele.pop(usuwany_wpis)
        print(f"Usunięto kontakt: {usuwany_wpis}")

    elif operacja == "4":
        print("Wybrano 4")
        lista_imion = ksiazka_tele.keys()
        for imie in lista_imion:
            print(imie, end=", ")

    elif operacja == "5":
        print("Wybrano 5")
        for kontakt in ksiazka_tele:
            print(f"{kontakt}: {ksiazka_tele[kontakt]}\n\n******************\n")

    elif operacja == "6":
        print("Wybrano 6")
        with open("ksiazka_kontaktowa.json", "w", encoding="utf8") as ksiazka_kontaktowa_json:
            json.dump(ksiazka_tele, ksiazka_kontaktowa_json, indent = 4, sort_keys = True, ensure_ascii=False)

    elif operacja == "7":
        print("Wybrano 7")
        with open("ksiazka_kontaktowa.json", "r", encoding="utf8") as ksiazka_kontaktowa:
            ksiazka_kont = json.load(ksiazka_kontaktowa)
        print(ksiazka_kont)

    elif operacja == "8":
        zapis = input("Czy zapisać zmiany? (T/N) ")
        if zapis == "T":
            with open("ksiazka_kontaktowa.json", "w", encoding="utf8") as ksiazka_kontaktowa_json:
                json.dump(ksiazka_tele, ksiazka_kontaktowa_json, indent = 4, sort_keys = True, ensure_ascii=False)
            break
        elif zapis == "N":
            break
        else:
            print("Wprowadź poprawną wartość (T/N).")

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

print("\nKoniec programu")