Obiettivi di apprendimento:
while e for per la gestione del menu e la stampa del carrello.Programma Esempio:
def shopping_cart_program():
print("🛒 PROGRAMMA CARRELLO DELLA SPESA 🛒")
# Utilizziamo una lista di tuple per l'inventario per memorizzare (nome, prezzo)
inventario = [
("Mela", 0.99),
("Latte (1L)", 1.50),
("Pane", 2.20),
("Uova (6)", 3.00),
("Acqua (6x)", 4.50)
]
# La lista principale per memorizzare gli articoli nel carrello
carrello = []
while True:
print("\n=== MENU ===")
print("1. Visualizza Inventario")
print("2. Aggiungi Articolo al Carrello")
print("3. Rimuovi Articolo dal Carrello")
print("4. Visualizza Carrello e Totale")
print("0. Esci e Paga")
scelta = input("Seleziona un'opzione (0-4): ")
if scelta == '1':
print("\n--- INVENTARIO ---")
for i, (nome, prezzo) in enumerate(inventario):
print(f"{i+1}. {nome:<10} €{prezzo:.2f}")
elif scelta == '2':
try:
scelta_inv = int(input("Inserisci il numero dell'articolo da aggiungere: "))
indice = scelta_inv - 1
if 0 <= indice < len(inventario):
articolo_selezionato = inventario[indice]
carrello.append(articolo_selezionato)
print(f"✅ '{articolo_selezionato[0]}' aggiunto al carrello.")
else:
print("❌ Numero articolo non valido.")
except ValueError:
print("❌ Inserimento non valido.")
elif scelta == '3':
if not carrello:
print("Il carrello è vuoto. Nulla da rimuovere.")
continue
print("\n--- ARTICOLI NEL CARRELLO ---")
# Usa enumerate per mostrare gli indici per la rimozione
for i, (nome, prezzo) in enumerate(carrello):
print(f"{i+1}. {nome:<10} €{prezzo:.2f}")
try:
idx_rimuovi = int(input("Inserisci il numero dell'articolo da rimuovere: "))
indice = idx_rimuovi - 1
if 0 <= indice < len(carrello):
articolo_rimosso = carrello.pop(indice) # Rimuove per indice
print(f"🗑️ '{articolo_rimosso[0]}' rimosso dal carrello.")
else:
print("❌ Numero articolo non valido.")
except ValueError:
print("❌ Inserimento non valido.")
elif scelta == '4':
if not carrello:
print("Il carrello è vuoto.")
continue
totale = 0.0
print("\n--- RIEPILOGO CARRELLO ---")
for nome, prezzo in carrello:
print(f"- {nome:<10} €{prezzo:.2f}")
totale += prezzo
tasse = totale * 0.22 # Ipotizziamo 22% di IVA
totale_finale = totale + tasse
print("-" * 25)
print(f"SUBTOTALE: €{totale:.2f}")
print(f"IVA (22%): €{tasse:.2f}")
print(f"TOTALE: €{totale_finale:.2f}")
elif scelta == '0':
print(f"\nGrazie per l'acquisto! Totale da pagare: €{totale_finale:.2f} (IVA inclusa).")
break
else:
print("Scelta non valida. Inserisci un numero tra 0 e 4.")
# shopping_cart_program()