Todo Junto
Parte de la sección Logic & Flow del Journey de Python de Coddy — lección 23 de 78.
Desafío
Fácil¡Ahora que has construido todas las funciones individuales para la Agenda de Contactos, es hora de unirlas para crear el programa completo!
Tu Tarea:
- Combina las funciones que has creado:
display_menu: Muestra las opciones del menú para el usuario.add_contact: Añade un nuevo contacto a la Agenda de Contactos.view_contact: Muestra los detalles de un contacto específico.edit_contact: Actualiza la información de un contacto existente.delete_contact: Elimina un contacto de la Agenda de Contactos.list_all_contacts: Muestra todos los contactos en la Agenda de Contactos.
- Crea un diccionario llamado
contact_bookpara almacenar los contactos. - Escribe un bucle que:
- Muestre el menú usando
display_menu. - Acepte la entrada del usuario para la elección del menú.
- Llame a la función apropiada basada en la elección del usuario.
- Imprima
"Invalid choice. Please try again."si el usuario ingresa una opción que no es una de las opciones válidas del menú. - Continúe hasta que el usuario seleccione la opción para salir del programa.
- Muestre el menú usando
Comportamiento Esperado:
Cuando ejecutes el programa, este debería:
- Mostrar un menú de opciones para que el usuario elija.
- Permitir al usuario interactuar con la Agenda de Contactos llamando a la función apropiada.
- Imprimir "Invalid choice. Please try again." cuando el usuario ingrese una opción no reconocida.
- Salir del programa limpiamente cuando el usuario seleccione la opción "Exit".
Este paso final combina todo el conocimiento que has adquirido en una aplicación de Agenda de Contactos totalmente funcional. ¡Disfruta viendo cómo todo tu arduo trabajo cobra vida! 🎉
Pruébalo tú mismo
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
Todas las lecciones de Logic & Flow
1Exploración de variables
ConstantesAsignación de múltiples variablesIntercambio de variablesVariables de marcador de posiciónRedondear númerosCasting de listas4Aplicación de Agenda de Contactos
Mostrar MenúAgregar Contacto7Conjuntos Parte 2
Operaciones matemáticas Parte 1Operaciones matemáticas Parte 2Resumen - Búsqueda del tesoroSubconjuntos y superconjuntosIterar sobre conjuntosResumen - Rastreador de torneos10Comprensión de listas básica
La sintaxisCreación de listas simplesAñadir condicionesUso de agregación de datosResumen - La casa de las listasResumen - Elementos de libertad13Sistema de Gestión de Inventarios
Descripción general del proyectoAgregar artículo2Diccionarios Parte 1
¿Qué es un diccionario?Crear un diccionarioAcceder a los valoresModificar diccionariosResumen - Gestor de recetas5Toma de decisiones avanzada
Operador ternarioComprobaciones de pertenenciaComprobaciones de identidadErrores de sangríaRepaso - Filtro de vacaciones8Gestor de registros de estudiantes
Descripción general del proyectoAñadir estudiante11Funciones avanzadas
Retornar múltiples valoresFunciones Lambda Parte 1Funciones Lambda Parte 2Desafío de repaso - Lambda SortFunciones recursivas Parte 1Funciones recursivas Parte 2Repaso - Sumar listas anidadas14Funciones de orden superior
La función MapLa función FilterRepaso - Validador de emailsRepaso - Procesador de números3Diccionarios Parte 2
Métodos de diccionariosDiccionarios anidadosVerificación de clavesIterar sobre diccionariosResumen - Contador de frecuencia6Conjuntos - Parte 1
¿Qué es un conjunto?Operaciones básicasMétodos de conjuntosResumen - Eliminar duplicados9Agregación de datos avanzada
Uso de SumBúsqueda de mínimo y máximoOrdenar datos de manera eficienteRepaso - Ordenador de diccionarios