Książka telefoniczna z i bez json

Książka telefoniczna z i bez json
Photo by yang miao / Unsplash
  1. opcja kiedy mamy ksiażkę jako dictionary w programie
from os import system, name

# 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 opis (string)

#moja testowa ksiązka do sprawdzania czy wszystko działa
ksiazka_tele = {'Janek':12121221, 'Halina':35353535}

while True:
    # Zapytanie o wybranie operacji
    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

    # Wykonanie wybranej operacji
    if operacja == "1":
        print("Wybrano 1")
        nowykontakt = (input("Podaj nazwę kontaktu: "))
        if nowykontakt in ksiazka_tele:
            print("Kontakt juz istnieje, jezeli chcesz edytować numer, wybierz 2")
        else:
            nrnowykontakt = (input("Podaj numer konatktu: "))
            ksiazka_tele.setdefault (nowykontakt, nrnowykontakt)
            print(f"Dodano kontakt {nowykontakt} {nrnowykontakt}")


    elif operacja == "2":
        print("Wybrano 2")
        kontaktdoedycji = (input("Podaj nazwę numeru do edycji "))
        if kontaktdoedycji not in ksiazka_tele:
            print("Numer nie istnieje. Jezeli chcesz dodać numer wybierz 1")
        else:
            nrkontaktdoedycji = (input ("Podaj numer: "))
            ksiazka_tele[kontaktdoedycji] = nrkontaktdoedycji
            print(f"Edytowano kontakt {kontaktdoedycji} {nrkontaktdoedycji}")

    elif operacja == "3":
        print("Wybrano 3")
        kontaktdousuniecia = (input("Podaj nazwę numeru do usuniecia "))
        if kontaktdousuniecia not in ksiazka_tele:
            print("Numer nie istnieje. Jezeli chcesz dodać numer wybierz 1")
        else:
            del ksiazka_tele[kontaktdousuniecia]
            print("Usunieto kontakt")

    elif operacja == "4":
        print("Wybrano 4")
        print("***")
        for imiona in ksiazka_tele: 
            print(imiona)

    elif operacja == "5":
        print("Wybrano 5")
        print("***")
        print(ksiazka_tele)

    elif operacja == "6":
        break

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


# Koniec programu
print("\nKoniec programu")
  1. opcja kiedy pracujemy na pliku .json
from os import system, name
import json

with open('kontaktowa_utf.json', 'r', encoding='utf-8') as kontakty:
    ksiazka_tele = json.load(kontakty)

while True:
    # Zapytanie o wybranie operacji
    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

    # Wykonanie wybranej operacji
    if operacja == "1":
        print("Wybrano 1")
        nowykontakt = (input("Podaj nazwę kontaktu: "))
        if nowykontakt in ksiazka_tele:
            print("Kontakt juz istnieje, jezeli chcesz edytować numer, wybierz 2")
        else:
            nrnowykontakt =(input("Podaj numer konatktu: "))
            ksiazka_tele[nowykontakt] = nrnowykontakt
            with open('kontaktowa_utf.json', 'w') as k: 
                json.dump(ksiazka_tele, k, indent=4)
            print(f"Dodano kontakt {nowykontakt} {nrnowykontakt}")


    elif operacja == "2":
        print("Wybrano 2")
        kontaktdoedycji = (input("Podaj nazwę numeru do edycji "))
        if kontaktdoedycji not in ksiazka_tele:
            print("Numer nie istnieje. Jezeli chcesz dodać numer wybierz 1")
        else:
            nrkontaktdoedycji = (input ("Podaj numer: "))
            ksiazka_tele[kontaktdoedycji] = nrkontaktdoedycji
            with open('kontaktowa_utf.json', 'w') as k: 
                json.dump(ksiazka_tele, k, indent=4)
            print(f"Edytowano kontakt {kontaktdoedycji} {nrkontaktdoedycji}")

    elif operacja == "3":
        print("Wybrano 3")
        kontaktdousuniecia = (input("Podaj nazwę numeru do usuniecia "))
        if kontaktdousuniecia not in ksiazka_tele:
            print("Numer nie istnieje. Jezeli chcesz dodać numer wybierz 1")
        else:
            del ksiazka_tele[kontaktdousuniecia]
            with open('kontaktowa_utf.json', 'w') as k: 
                json.dump(ksiazka_tele, k, indent=4)
            print("Usunieto kontakt")
            # print(ksiazka_tele)

    elif operacja == "4":
        print("Wybrano 4")
        print("***")
        for imiona in ksiazka_tele: 
            print(imiona)

    elif operacja == "5":
        print("Wybrano 5")
        print("***")
        print(ksiazka_tele)

    elif operacja == "6":
        break

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


# Koniec programu
print("\nKoniec programu")