Pliki- zajęcia 8

Pliki- zajęcia 8
Photo by Donovan Dean Photography / Unsplash
#Książka telefoniczna z dodatkowym wczytywaniem i zapisywaniem kontaktów w pliku.
import json
from os import system, name


def czysc_ekran():
    if name == "nt":
        _ = system("cls")
    else:
        _ = system("clear")


ksiazka_tele = {}


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 - wczytanie json\n\
                  7 - zapisanie json\n\
                  8 - koniec programu\nPodaj kod operacji ="
    )

    if not operacja:
        break

    # Wykonanie wybranej operacji
    if operacja == "1":
        czysc_ekran()
        print("Wybrano 1")
        imie = input("Podaj imię: ")
        telefon = input("Podaj numer telefonu: ")
        info = input("Podaj dodatkowe informacje: ")
        ksiazka_tele[imie] = {"telefon": telefon, "info": info}
        print(f"Dodano {imie} z numerem {telefon} i informacjami do książki.")

    elif operacja == "2":
        czysc_ekran()
        print("Wybrano 2")
        imie = input("Podaj imię osoby, do aktualizacji numeru telefonu: ")
        if imie in ksiazka_tele:
            telefon = input("Dodaj nowy numer telefonu:")
            info = input("Podaj nowe dodatkowe informacje: ")
            ksiazka_tele[imie] = {"telefon": telefon, "info": info}
            print(f"Zauktalizowano numer telefonu i informacje dla {imie}.")
        else:
            print(f"Kontakt o imieniu {imie} nie istnieje.")
        

    elif operacja == "3":
        czysc_ekran()
        print("Wybrano 3")
        imie = input("Podaj imię do usunięcia z książki: ")
        if imie in ksiazka_tele:
            usuniecie = ksiazka_tele.pop(imie)
            print(f"Usunięto kontakt {imie} z książki telefonicznej.")
        else:
            print(f"Kontakt o imieniu {imie}, nie został usunięty, bo nie istnieje.")

    elif operacja == "4":
        czysc_ekran()
        print("Wybrano 4")
        if ksiazka_tele:
            print("Imiona w książce: ")
            for imie in ksiazka_tele:
                print(imie)
        else:
            print("Książka jest pusta.")

    elif operacja == "5":
        czysc_ekran()
        print("Wybrano 5")
        if ksiazka_tele:
            print("Cała książka telefoniczna:")
            for imie, reszta in ksiazka_tele.items():
                telefon = reszta["telefon"]
                info = reszta["info"]
                print(f"{imie}: {telefon}, {info}")
        else:
            print("Nie ma żadnych kontaktów.")
    
    elif operacja == "6":
        czysc_ekran()
        print("Wybrano 6")
        with open("ksiazka_tele.json", "r") as plik:
            ksiazka_tele = json.load(plik)
        print("Wczytano książkę telefoniczną.")

    elif operacja == "7":
        czysc_ekran()
        print("Wybrano 7")
        with open("ksiazka_tele.json", "w") as plik:
            json.dump(ksiazka_tele, plik)
        print("Zapisano książkę telefoniczną do pliku.")
        

    elif operacja == "8":
        break

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


# Koniec programu
print("\nKoniec programu")