Edytuj kontakt
Część sekcji Logika i przepływ programu ścieżki Python w Coddy. Lekcja 20 z 78.
Wyzwanie
ŁatwyNastępnym krokiem jest utworzenie funkcji edit_contact. Ta funkcja umożliwi użytkownikom aktualizowanie danych istniejącego kontaktu w książce kontaktów.
Twoje zadanie:
- Utwórz funkcję o nazwie
edit_contact, która przyjmuje jeden argument:contact_book(słownik). - Pobierz nazwę kontaktu, który użytkownik chce edytować.
- Sprawdź, czy nazwa istnieje w
contact_book:- Jeśli istnieje, poproś użytkownika o podanie nowych wartości telefonu, adresu e-mail i adresu kontaktu (w tej kolejności!).
- Jeśli użytkownik nic nie wpisze (naciśnie Enter), zachowaj obecną wartość tego pola (w takim przypadku wejściem będzie pusty ciąg znaków,
''). - Zaktualizuj informacje o kontakcie w słowniku.
- Wyświetl:
"Contact updated successfully!".
- Jeśli kontakt nie istnieje, wyświetl:
"Contact not found!".
Pamiętaj: Pobieraj dane wejściowe dotyczące telefonu, adresu e-mail i adresu tylko wtedy, gdy kontakt istnieje w książce kontaktów. Jeśli kontaktu nie znaleziono, natychmiast wyświetl komunikat o błędzie, nie próbując pobierać kolejnych danych.
Oczekiwane działanie:
Dla obiektu contact_book zawierającego:
{"Alice": {"phone": "123-456-7890", "email": "alice@example.com", "address": "123 Main St"}}Jeśli użytkownik wpisze:
Alice
987-654-3210
456 Elm StZaktualizowany obiekt contact_book powinien wyglądać tak:
{"Alice": {"phone": "987-654-3210", "email": "alice@example.com", "address": "456 Elm St"}}Jeśli użytkownik wpisze nazwę, która nie istnieje:
BobWynik powinien być następujący:
Contact not found!Spróbuj swoich sił
def display_menu():
print("Contact Book Menu:")
print("1. Add Contact")
print("2. View Contact")
print("3. Edit Contact")
print("4. Delete Contact")
print("5. List All Contacts")
print("6. Exit")
def add_contact(contact_book):
name = input()
if name in contact_book:
print("Contact already exists!")
return
phone = input()
email = input()
address = input()
contact_book[name] = {"phone": phone, "email": email, "address": address}
print("Contact added successfully!")
def view_contact(contact_book):
name = input()
if name in contact_book:
contact = contact_book[name]
print(f"Name: {name}")
print(f"Phone: {contact['phone']}")
print(f"Email: {contact['email']}")
print(f"Address: {contact['address']}")
else:
print("Contact not found!")Wszystkie lekcje w sekcji Logika i przepływ programu
1Odkrywanie zmiennych
StałeWielokrotne przypisania zmiennychZamiana zmiennychZmienne zastępczeZaokrąglanie liczbKonwersja na listę4Aplikacja książki kontaktów
Wyświetl menuDodaj kontakt7Zbiory — część 2
Działania matematyczne — część 1Działania matematyczne — część 2Powtórka — poszukiwanie skarbówPodzbiory i nadzbioryIterowanie po zbiorachPowtórka — śledzenie turnieju10Podstawowe składanie list
SkładniaTworzenie prostych listDodawanie warunkówUżywanie agregacji danychPowtórka – dom listPowtórka – elementy wolności13System zarządzania zapasami
Przegląd projektuDodawanie produktu2Słowniki — część 1
Czym jest słownik?Tworzenie słownikaDostęp do wartościModyfikowanie słownikówPowtórzenie — menedżer przepisów5Zaawansowane podejmowanie decyzji
Operator warunkowySprawdzanie przynależnościSprawdzanie tożsamościBłędy wcięćPowtórka — filtr wakacyjny8Menedżer rekordów uczniów
Przegląd projektuDodawanie ucznia11Zaawansowane funkcje
Zwracanie wielu wartościFunkcje lambda — część 1Funkcje lambda — część 2Wyzwanie podsumowujące — sortowanie z lambdaFunkcje rekurencyjne — część 1Funkcje rekurencyjne — część 2Podsumowanie — suma elementów zagnieżdżonej listy14Funkcje wyższego rzędu
Funkcja mapFunkcja filterPodsumowanie – walidator adresów e-mailPodsumowanie – procesor liczb3Słowniki, część 2
Metody słownikówZagnieżdżone słownikiSprawdzanie kluczyIterowanie po słownikachPowtórzenie — licznik częstotliwości9Zaawansowana agregacja danych
Używanie sumyZnajdowanie minimum i maksimumEfektywne sortowanie danychPowtórka – sortowanie słowników12Podstawowa obsługa błędów
Czym jest obsługa błędów?Blok try i exceptObsługa wielu wyjątkówPodsumowanie – błędy w koszyku zakupowymPoćwicz samodzielnie: Kompilator Python online