- 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")
- 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")