Riepilogo - Errori nel carrello
Fa parte della sezione Logica e flusso del percorso Python di Coddy. Lezione 66 di 78.
Sfida
MedioCrea un programma che simuli un carrello della spesa con gestione degli errori. Il tuo compito è:
- Creare una funzione chiamata
handle_shopping_cartche elabori gli ordini dei clienti - La funzione deve accettare un elenco di stringhe di ordini nel formato "item:quantity"
- Elaborare ogni ordine:
- Dividendo la stringa di input per ottenere l'articolo e la quantità
- Convertendo la quantità in un numero intero
- Aggiungendo l'articolo a un dizionario del carrello della spesa, con la quantità come valore
- Se un articolo è già presente nel carrello, aggiungere la nuova quantità a quella esistente
- Gestire questi errori specifici:
- Se il formato dell'input non è corretto (mancano i due punti), stampare "Invalid format: {order}"
- Se la quantità non è un numero valido, stampare "Invalid quantity: {order}"
- Se la quantità è negativa, stampare "Negative quantity not allowed: {order}"
- Restituire il dizionario completo del carrello della spesa
Controlla il formato e che la quantità non sia negativa con un if. Solo la conversione della quantità in un numero intero può generare un errore, quindi è in except ValueError che viene stampato "Invalid quantity: {order}". Mantieni l'ultimo blocco except Exception as e come rete di sicurezza e stampa "Unexpected error: {e}" al suo interno.
Provalo tu
def handle_shopping_cart(orders):
# Crea un dizionario vuoto per il carrello
cart = {}
# Elabora ogni ordine nell'elenco
for order in orders:
try:
# Suddividi l'ordine, controlla il formato e la quantità, poi aggiungilo al carrello
pass
except ValueError:
# La quantità non era un numero
pass
except Exception as e:
# Qualsiasi imprevisto
pass
# Restituisci il carrello completo
return cartTutte 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