Menu
Coddy logo textTech

Modificare un contatto

Fa parte della sezione Logica e flusso del percorso Python di Coddy. Lezione 20 di 78.

challenge icon

Sfida

Facile

Il passaggio successivo consiste nel creare la funzione edit_contact. Questa funzione consentirà agli utenti di aggiornare i dettagli di un contatto esistente nella rubrica.


Il tuo compito:

  1. Crea una funzione chiamata edit_contact che accetti un argomento: contact_book (un dizionario).
  2. Leggi il nome del contatto che l’utente desidera modificare.
  3. Verifica se il nome esiste in contact_book:
    • Se esiste, chiedi all’utente di inserire i nuovi valori per il telefono, l’email e l’indirizzo del contatto (in quest’ordine!).
    • Se l’utente non inserisce nulla (preme Invio), mantieni il valore corrente per quel campo (in questo caso l’input sarà una stringa vuota, '').
    • Aggiorna le informazioni del contatto nel dizionario.
    • Stampa: "Contact updated successfully!".
  4. Se il contatto non esiste, stampa: "Contact not found!".

Ricorda: leggi gli input per il telefono, l’email e l’indirizzo solo se il contatto esiste nella rubrica. Se il contatto non viene trovato, stampa subito il messaggio di errore senza provare a leggere altri input.


Comportamento previsto:

Per un contact_book contenente:

{"Alice": {"phone": "123-456-7890", "email": "alice@example.com", "address": "123 Main St"}}

Se l’utente inserisce:

Alice
987-654-3210

456 Elm St

Il contact_book aggiornato dovrebbe apparire così:

{"Alice": {"phone": "987-654-3210", "email": "alice@example.com", "address": "456 Elm St"}}

Se l’utente inserisce un nome che non esiste:

Bob

L’output dovrebbe essere:

Contact not found!

Provalo tu

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!")

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Python online