Menu
Coddy logo textTech

Editar Contacto

Parte de la sección Logic & Flow del Journey de Python de Coddy — lección 20 de 78.

challenge icon

Desafío

Fácil

El 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:

  1. Crea una función llamada edit_contact que reciba un argumento: contact_book (un diccionario).
  2. Obtén la entrada para el nombre del contacto que el usuario desea editar.
  3. 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!".
  4. 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 St

El 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:

Bob

La 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