Mettere tutto insieme
Fa parte della sezione Logica e flusso del percorso Python di Coddy. Lezione 23 di 78.
Sfida
FacileOra che hai creato tutte le singole funzioni per Contact Book, è il momento di unirle per creare il programma completo!
Il tuo compito:
- Combina le funzioni che hai creato:
display_menu: mostra le opzioni del menu all’utente.add_contact: aggiunge un nuovo contatto a Contact Book.view_contact: mostra i dettagli di un contatto specifico.edit_contact: aggiorna le informazioni di un contatto esistente.delete_contact: rimuove un contatto da Contact Book.list_all_contacts: mostra tutti i contatti in Contact Book.
- Crea un dizionario chiamato
contact_bookper memorizzare i contatti. - Scrivi un ciclo che:
- Mostra il menu usando
display_menu. - Accetta l’input dell’utente per la scelta del menu.
- Chiama la funzione appropriata in base alla scelta dell’utente.
- Stampa
Invalid choice. Please try again.se l’utente inserisce una scelta che non è tra le opzioni valide del menu. - Continua finché l’utente non seleziona l’opzione per uscire dal programma.
- Mostra il menu usando
Comportamento previsto:
Quando esegui il programma, dovrebbe:
- Mostrare un menu di opzioni tra cui l’utente può scegliere.
- Consentire all’utente di interagire con Contact Book chiamando la funzione appropriata.
- Stampare Invalid choice. Please try again. quando l’utente inserisce un’opzione non riconosciuta.
- Uscire dal programma correttamente quando l’utente seleziona l’opzione "Exit".
Questo passaggio finale riunisce tutte le conoscenze che hai acquisito in un’applicazione Contact Book perfettamente funzionante. Goditi il risultato del tuo duro lavoro! 🎉
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!")
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
Tutte le lezioni di Logica e flusso
1Esplorazione delle variabili
CostantiAssegnazioni multiple di variabiliScambio di variabiliVariabili segnapostoArrotondare i numeriConversione di liste4Applicazione Rubrica
Visualizzare il menuAggiungere un contatto7Insiemi Parte 2
Operazioni matematiche Parte 1Operazioni matematiche Parte 2Riepilogo - Caccia al tesoroSottoinsiemi e sovrainsiemiIterare sugli insiemiRiepilogo - Tracciamento del torneo10Comprensioni di liste di base
La sintassiCreare liste sempliciAggiungere condizioniUsare l'aggregazione dei datiRipasso - La casa delle listeRipasso - Elementi di libertà13Sistema di gestione dell'inventario
Panoramica del progettoAggiungi articolo2Dizionari Parte 1
Che cos'è un dizionario?Creare un dizionarioAccedere ai valoriModificare i dizionariRipasso - Gestore di ricette5Decisioni avanzate
Operatore ternarioVerifiche di appartenenzaVerifiche di identitàErrori di indentazioneRiepilogo - Filtro vacanze8Gestore delle carriere degli studenti
Panoramica del progettoAggiungi studente11Funzioni avanzate
Restituire più valoriFunzioni lambda - Parte 1Funzioni lambda - Parte 2Sfida di ripasso - Ordinamento con lambdaFunzioni ricorsive - Parte 1Funzioni ricorsive - Parte 2Ripasso - Somma di una lista annidata14Funzioni di ordine superiore
La funzione mapLa funzione filterRipasso - Validatore di emailRipasso - Elaboratore di numeri3Dizionari Parte 2
Metodi dei dizionariDizionari annidatiVerificare la presenza di chiaviIterare sui dizionariRipasso - Contatore di frequenza6Insiemi Parte 1
Che cos'è un insieme?Operazioni di baseMetodi degli insiemiRiepilogo - Rimuovere i duplicati9Aggregazione avanzata dei dati
Usare la sommaTrovare il minimo e il massimoOrdinare i dati in modo efficienteRipasso - Ordinatore di dizionari12Gestione di base degli errori
Che cos'è la gestione degli errori?Il blocco try ed exceptGestire più eccezioniRiepilogo - Errori nel carrelloEsercitati da solo: Compilatore Python online