Editar Contacto
Parte de la sección Logic & Flow del Journey de Python de Coddy — lección 20 de 78.
Desafío
FácilEl siguiente paso es crear la función edit_contact. Esta función permitirá a los usuarios actualizar los detalles de un contacto existente en la Agenda de Contactos.
Tu Tarea:
- Crea una función llamada
edit_contactque reciba un argumento:contact_book(un diccionario). - Obtén la entrada para el nombre del contacto que el usuario desea editar.
- Verifica si el nombre existe en el
contact_book:- Si existe, solicita al usuario que ingrese nuevos valores para el teléfono, correo electrónico y dirección del contacto (¡en ese orden!).
- Si el usuario no proporciona ninguna entrada (presiona Enter), mantén el valor actual para ese campo (en este caso, la entrada será una cadena vacía,
''). - Actualiza la información del contacto en el diccionario.
- Imprime:
"Contact updated successfully!".
- Si el contacto no existe, imprime:
"Contact not found!".
Recuerda: Solo lee las entradas para teléfono, correo electrónico y dirección si el contacto existe en la agenda de contactos. Si el contacto no se encuentra, imprime el mensaje de error inmediatamente sin intentar leer entradas adicionales.
Comportamiento Esperado:
Para un contact_book que contiene:
{"Alice": {"phone": "123-456-7890", "email": "alice@example.com", "address": "123 Main St"}}Si el usuario ingresa:
Alice
987-654-3210
456 Elm StEl contact_book actualizado debería verse así:
{"Alice": {"phone": "987-654-3210", "email": "alice@example.com", "address": "456 Elm St"}}Si el usuario ingresa un nombre que no existe:
BobLa salida debería ser:
Contact not found!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!")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