Menu
Coddy logo textTech

Wszystko razem

Część sekcji Logika i przepływ programu ścieżki Python w Coddy. Lekcja 23 z 78.

challenge icon

Wyzwanie

Łatwy

Teraz, gdy masz już gotowe wszystkie pojedyncze funkcje Książki kontaktów, czas połączyć je, aby stworzyć cały program!


Twoje zadanie:

  1. Połącz utworzone funkcje:
    • display_menu: Wyświetla użytkownikowi opcje menu.
    • add_contact: Dodaje nowy kontakt do Książki kontaktów.
    • view_contact: Wyświetla szczegóły dotyczące konkretnego kontaktu.
    • edit_contact: Aktualizuje informacje o istniejącym kontakcie.
    • delete_contact: Usuwa kontakt z Książki kontaktów.
    • list_all_contacts: Wyświetla wszystkie kontakty w Książce kontaktów.
  2. Utwórz słownik o nazwie contact_book, aby przechowywać kontakty.
  3. Napisz pętlę, która:
    • Wyświetla menu za pomocą display_menu.
    • Pobiera od użytkownika wybór z menu.
    • Wywołuje odpowiednią funkcję na podstawie wyboru użytkownika.
    • Wyświetla Invalid choice. Please try again., jeśli użytkownik wybierze opcję, która nie jest jedną z prawidłowych opcji menu.
    • Działa do momentu, gdy użytkownik wybierze opcję zakończenia programu.

Oczekiwane działanie:

Po uruchomieniu programu powinien on:

  1. Wyświetlić menu opcji, spośród których użytkownik może wybrać.
  2. Umożliwić użytkownikowi korzystanie z Książki kontaktów przez wywoływanie odpowiednich funkcji.
  3. Wyświetlić Invalid choice. Please try again., gdy użytkownik wprowadzi nierozpoznaną opcję.
  4. Poprawnie zakończyć działanie, gdy użytkownik wybierze opcję "Exit".

Ten ostatni krok łączy całą zdobytą wiedzę w sprawnie działającą aplikację Książki kontaktów. Zobacz, jak Twoja ciężka praca składa się w całość! 🎉

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

def edit_contact(contact_book):
    name = input()
    if name in contact_book:
        phone = input()
        email = input()
        address = input()

        if phone == '':
            phone = contact_book[name]['phone']
        if email == '':
            email = contact_book[name]['email']
        if address == '':
            address = contact_book[name]['address']

        contact_book[name] = {"phone": phone, "email": email, "address": address}
        print("Contact updated successfully!")
    else:
        print("Contact not found!")

def delete_contact(contact_book):
    name = input()
    if name in contact_book:
        del contact_book[name]
        print("Contact deleted successfully!")
    else:
        print("Contact not found!")

def list_all_contacts(contact_book):
    if not contact_book:
        print("No contacts available.")
    else:
        for name, details in contact_book.items():
            print(f"Name: {name}")
            print(f"Phone: {details['phone']}")
            print(f"Email: {details['email']}")
            print(f"Address: {details['address']}")
            print()  # Blank line between contacts for readability

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator Python online