🧩 Sfida: Vendite e Spedizioni

In questa sfida simulerai la gestione dell’inventario settimanale di un negozio di alimentari. Utilizzerai l’iterazione sugli indici, combinando range() e len(), per aggiornare gli stock dei prodotti prima in base alle vendite e poi alle spedizioni ricevute.

Questa attività replica un processo reale: ogni giorno un supermercato diminuisce lo stock in base agli acquisti dei clienti e successivamente lo aggiorna con gli arrivi dal magazzino centrale.


🎯 Compito

Aggiorna i livelli di stock dei prodotti utilizzando due cicli for con iterazione tramite indice.

1️⃣ Prima fase — Applicare le vendite

Per ogni prodotto:

  • Utilizza un ciclo con range(len(products))
  • Sottrai da ogni elemento di products il valore corrispondente in units_sold

2️⃣ Seconda fase — Aggiungere le spedizioni

Una volta aggiornati i livelli in base alle vendite:

  • Utilizza un secondo ciclo attraverso gli indici
  • Aggiungi a ogni elemento di products il corrispondente valore della lista shipment_received

3️⃣ Output finale

Al termine, stampa:

Final stock levels for all products: <products>

📌 Nota didattica

Questa sfida è un ottimo esempio del perché l’iterazione sugli indici sia fondamentale:

  • ti permette di aggiornare direttamente la lista originale,
  • ti consente di elaborare più liste parallele mantenendo l’allineamento tra i dati,
  • riflette fedelmente scenari reali di gestione inventario.