Assemblage final
Fait partie de la section Logic & Flow du Journey Python de Coddy — leçon 23 sur 78.
Défi
FacileMaintenant 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 :
- 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.
- Créez un dictionnaire appelé
contact_bookpour stocker les contacts. - É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.
- Affiche le menu en utilisant
Comportement attendu :
Lorsque vous lancez le programme, il doit :
- Afficher un menu d'options parmi lesquelles l'utilisateur peut choisir.
- Permettre à l'utilisateur d'interagir avec le Carnet de Contacts en appelant la fonction appropriée.
- Afficher "Invalid choice. Please try again." lorsque l'utilisateur saisit une option non reconnue.
- 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
1Exploration des variables
ConstantesAffectations multiplesÉchange de variablesVariables de substitutionArrondir des nombresCasting de listes4Application de carnet de contacts
Afficher le menuAjouter un contact7Ensembles Partie 2
Opérations mathématiques Partie 1Opérations mathématiques Partie 2Récapitulatif - Chasse au trésorSous-ensembles et sur-ensemblesItérer sur les ensemblesRécapitulatif - Suivi de tournoi10Compréhensions de listes basiques
La syntaxeCréer des listes simplesAjouter des conditionsUtiliser l'agrégation de donnéesRécapitulatif - House Of ListsRécapitulatif - Elements Of Freedom13Système de gestion des stocks
Présentation du projetAjouter un article2Les dictionnaires - Partie 1
Qu'est-ce qu'un dictionnaire ?Créer un dictionnaireAccéder aux valeursModifier des dictionnairesRécapitulatif - Gestionnaire de recettes5Prise de décision avancée
Opérateur ternaireVérifications d'appartenanceVérifications d'identitéErreurs d'indentationRécapitulatif - Filtre de vacances8Gestionnaire de dossiers étudiants
Présentation du projetAjouter un étudiant11Fonctions avancées
Retourner plusieurs valeursFonctions Lambda - Partie 1Fonctions Lambda - Partie 2Défi récapitulatif - Tri LambdaFonctions récursives - Partie 1Fonctions récursives - Partie 2Récapitulatif - Somme d'une liste imbriquée14Fonctions d'ordre supérieur
La fonction MapLa fonction FilterRécapitulatif - Validateur d'e-mailsRécapitulatif - Processeur de nombres3Dictionnaires - Partie 2
Méthodes de dictionnaireDictionnaires imbriquésVérification des clésParcourir les dictionnairesRécapitulatif - Compteur de fréquence6Les Ensembles - Partie 1
Qu'est-ce qu'un ensemble ?Opérations de baseMéthodes des ensemblesRécapitulatif - Supprimer les doublons9Agrégation de données avancée
Utilisation de SumTrouver le minimum et le maximumTrier les données efficacementRécapitulatif - Trieur de dictionnaires