Menu
Coddy logo textTech

Riepilogo - Errori nel carrello

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

challenge icon

Sfida

Medio

Crea un programma che simuli un carrello della spesa con gestione degli errori. Il tuo compito è:

  1. Creare una funzione chiamata handle_shopping_cart che elabori gli ordini dei clienti
  2. La funzione deve accettare un elenco di stringhe di ordini nel formato "item:quantity"
  3. 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
  4. 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}"
  5. 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 cart

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Python online