Menu
Coddy logo textTech

Assemblage final

Fait partie de la section Logic & Flow du Journey Python de Coddy — leçon 23 sur 78.

challenge icon

Défi

Facile

Maintenant que vous avez construit toutes les fonctions individuelles pour le Carnet de Contacts, il est temps de les assembler pour créer le programme complet !


Votre tâche :

  1. Combinez les fonctions que vous avez créées :
    • display_menu : Affiche les options du menu pour l'utilisateur.
    • add_contact : Ajoute un nouveau contact au Carnet de Contacts.
    • view_contact : Affiche les détails d'un contact spécifique.
    • edit_contact : Met à jour les informations d'un contact existant.
    • delete_contact : Supprime un contact du Carnet de Contacts.
    • list_all_contacts : Affiche tous les contacts du Carnet de Contacts.
  2. Créez un dictionnaire appelé contact_book pour stocker les contacts.
  3. Écrivez une boucle qui :
    • Affiche le menu en utilisant display_menu.
    • Accepte la saisie de l'utilisateur pour le choix du menu.
    • Appelle la fonction appropriée en fonction du choix de l'utilisateur.
    • Affiche "Invalid choice. Please try again." si l'utilisateur saisit un choix qui ne fait pas partie des options de menu valides.
    • Continue jusqu'à ce que l'utilisateur sélectionne l'option pour quitter le programme.

Comportement attendu :

Lorsque vous lancez le programme, il doit :

  1. Afficher un menu d'options parmi lesquelles l'utilisateur peut choisir.
  2. Permettre à l'utilisateur d'interagir avec le Carnet de Contacts en appelant la fonction appropriée.
  3. Afficher "Invalid choice. Please try again." lorsque l'utilisateur saisit une option non reconnue.
  4. Quitter le programme proprement lorsque l'utilisateur sélectionne l'option "Exit".

Cette étape finale combine toutes les connaissances que vous avez acquises dans une application de Carnet de Contacts entièrement fonctionnelle. Profitez de voir votre travail acharné se concrétiser ! 🎉

Essayez vous-même

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

Toutes les leçons de Logic & Flow