Menu
Coddy logo textTech

Alles zusammenfügen

Teil des Abschnitts Logik und Ablaufsteuerung der Python-Journey von Coddy. Lektion 23 von 78.

challenge icon

Aufgabe

Einfach

Nachdem du alle einzelnen Funktionen für das Kontaktbuch erstellt hast, ist es an der Zeit, sie zusammenzufügen und das vollständige Programm zu erstellen!


Deine Aufgabe:

  1. Füge die von dir erstellten Funktionen zusammen:
    • display_menu: Zeigt dem Benutzer die Menüoptionen an.
    • add_contact: Fügt dem Kontaktbuch einen neuen Kontakt hinzu.
    • view_contact: Zeigt die Details eines bestimmten Kontakts an.
    • edit_contact: Aktualisiert die Informationen eines vorhandenen Kontakts.
    • delete_contact: Entfernt einen Kontakt aus dem Kontaktbuch.
    • list_all_contacts: Zeigt alle Kontakte im Kontaktbuch an.
  2. Erstelle ein Dictionary namens contact_book, um die Kontakte zu speichern.
  3. Schreibe eine Schleife, die:
    • das Menü mithilfe von display_menu anzeigt.
    • die Benutzereingabe für die Menüauswahl entgegennimmt.
    • je nach Auswahl des Benutzers die passende Funktion aufruft.
    • Invalid choice. Please try again. ausgibt, wenn der Benutzer eine Auswahl eingibt, die keine der gültigen Menüoptionen ist.
    • fortgesetzt wird, bis der Benutzer die Option zum Beenden des Programms auswählt.

Erwartetes Verhalten:

Wenn du das Programm ausführst, sollte es:

  1. ein Menü mit Optionen anzeigen, aus denen der Benutzer auswählen kann.
  2. dem Benutzer ermöglichen, mit dem Kontaktbuch zu interagieren, indem die passende Funktion aufgerufen wird.
  3. Invalid choice. Please try again. ausgeben, wenn der Benutzer eine nicht erkannte Option eingibt.
  4. das Programm sauber beenden, wenn der Benutzer die Option „Exit“ auswählt.

Dieser letzte Schritt verbindet all dein erworbenes Wissen zu einer vollständig funktionsfähigen Kontaktbuchanwendung. Viel Spaß dabei, zu sehen, wie deine harte Arbeit zusammenkommt! 🎉

Probier es selbst

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

Alle Lektionen in Logik und Ablaufsteuerung

Übe selbstständig: Online-Python-Compiler