Lekcja 8 - zad dom (.json)
Utworzyłam plik:
import json
ksiazka_tele_dopisywanie={
"Szymon" : "777888999",
"Alfred" : "444555666",
}
with open ("ksiazka_tele_dopisywanie.json", "w") as plik:
json.dump(ksiazka_tele_dopisywanie, plik, indent=2)
który utworzył mi plik ksiazka_tele_dopisywanie.json. Potem można używać "1" aby dodać kolejne wpisy. Na końcu za pomocą "7" tworzę plik ksiazka_tele_json.json zawierający wszystkie dopisane wpisy.
from os import system, name
import json
def czysc_ekran():
if name == "nt":
_ = system("cls")
else:
_ = system("clear")
ksiazka_tele_json = {}
czysc_ekran()
while True:
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 zewnętrznej książki telefonicznej\n\
7 - zapisanie całej książki telefonicznej do pliku .json\n\
8 - koniec programu\nPodaj kod operacji = "
)
if not operacja:
break
if operacja == "1":
czysc_ekran()
print("Wybrano 1")
imie = input("Wpisz imię i nazwisko: ")
while True:
nr_tel = input("Wpisz nr tel.: ")
if len(nr_tel) == 9:
ksiazka_tele_json[imie] = nr_tel
print("Nr tel został dodany")
break
else:
print("nr tel musi skladac sie z 9 cyfr")
elif operacja == "2":
czysc_ekran()
print("Wybrano 2")
imie = input("Wpisz imię i nazwisko: ")
if imie in ksiazka_tele_json.keys():
wpis=input("Nowe dane kontaktowe: ")
ksiazka_tele_json[imie]=wpis
ksiazka_tele_json[imie] = nr_tel
elif operacja == "3":
czysc_ekran()
print("Wybrano 3")
imie = input("Wpisz imię i nazwisko do usunięcia wpisu: ")
if imie in ksiazka_tele_json.keys():
ksiazka_tele_json.pop(imie)
print("Wpis został usunięty")
else:
print("Nie ma takiego wpisu w ksiazce")
elif operacja == "4":
czysc_ekran()
print("Wybrano 4")
print(f"W ksiazce znajduja sie imiona: ")
for imie in ksiazka_tele_json.keys():
# może być też samo ksiazka_tele() bo domyślnie przemieszczamy się po kluczach
print(imie)
elif operacja == "5":
czysc_ekran()
print("Wybrano 5")
print(f"W ksiazce znajduja sie wpisy: ")
for imie, nr_tel in ksiazka_tele_json.items():
print (f"Imie: {imie}, nr tel.: {nr_tel}")
elif operacja == "6":
czysc_ekran()
print("Wybrano 6")
with open ("ksiazka_tele_dopisywanie.json") as plik:
ksiazka_tele_json=json.load(plik)
print(ksiazka_tele_json)
elif operacja == "7":
czysc_ekran()
print("Wybrano 7")
with open ("ksiazka_tele_json.json", "w") as plik:
json.dump(ksiazka_tele_json, plik, indent=2)
elif operacja == "8":
break
else:
print("\nPodano błędny kod operacji")
print("\nKoniec programu")