Menu
Coddy logo textTech

Assemblage final

Fait partie de la section Logique et flux du Journey Python de Coddy. Leçon 23 sur 78.

challenge icon

Défi

Facile

Maintenant que tu as créé toutes les fonctions individuelles du carnet de contacts, il est temps de les réunir pour créer le programme complet !


Ta tâche :

  1. Combine les fonctions que tu as 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ée un dictionnaire appelé contact_book pour stocker les contacts.
  3. Écris une boucle qui :
    • Affiche le menu à l'aide de 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 valides du menu.
    • Continue jusqu'à ce que l'utilisateur sélectionne l'option permettant de quitter le programme.

Comportement attendu :

Lorsque tu exécutes 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 proprement le programme lorsque l'utilisateur sélectionne l'option « Exit ».

Cette dernière étape rassemble toutes les connaissances que tu as acquises pour créer une application de carnet de contacts entièrement fonctionnelle. Profite de voir tous tes efforts porter leurs fruits ! 🎉

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 Logique et flux

Entraînez-vous par vous-même : Compilateur Python en ligne