Obiettivi di apprendimento:
Programma Esempio:
def concession_stand_program():
print("🍿 PROGRAMMA CASSA CINEMA 🍿")
# Dizionario che funge da inventario/menu (Articolo: Prezzo)
menu = {
"Popcorn grande": 6.50,
"Coca Cola": 3.00,
"Nachos": 5.50,
"Acqua": 2.00,
"Caramelle": 4.00
}
# Dizionario per il carrello (Articolo: Quantità)
carrello_quantita = {}
while True:
print("\n=== MENU ARTICOLI ===")
# Stampa il menu ordinato
for i, (articolo, prezzo) in enumerate(menu.items()):
print(f"{i+1}. {articolo:<15} €{prezzo:.2f}")
print("0. Calcola Totale e Paga")
scelta = input("Seleziona il numero dell'articolo da aggiungere (o 0 per pagare): ")
if scelta == '0':
break
try:
indice_scelto = int(scelta) - 1
articoli = list(menu.keys())
if 0 <= indice_scelto < len(articoli):
articolo_selezionato = articoli[indice_scelto]
quantita = int(input(f"Quanti '{articolo_selezionato}' vuoi aggiungere? "))
if quantita > 0:
# Se l'articolo è già nel carrello, aggiunge la quantità
if articolo_selezionato in carrello_quantita:
carrello_quantita[articolo_selezionato] += quantita
# Altrimenti, aggiunge l'articolo con la quantità
else:
carrello_quantita[articolo_selezionato] = quantita
print(f"✅ Aggiunti {quantita}x di {articolo_selezionato}.")
else:
print("La quantità deve essere positiva.")
else:
print("❌ Scelta non valida.")
except ValueError:
print("❌ Inserimento non valido. Devi inserire un numero.")
# Calcolo del totale
totale_finale = 0.0
print("\n\n--- RIEPILOGO ORDINE ---")
if not carrello_quantita:
print("Carrello vuoto. Totale: €0.00")
return
# Ciclo sui prodotti nel carrello
for articolo, quantita in carrello_quantita.items():
prezzo_unitario = menu[articolo]
costo_articolo = prezzo_unitario * quantita
totale_finale += costo_articolo
print(f"{quantita}x {articolo:<15} @ €{prezzo_unitario:.2f} = €{costo_articolo:.2f}")
# Calcolo tasse e totale
tasse = totale_finale * 0.05 # Tasse ipotetiche 5%
totale_finale_tasse = totale_finale + tasse
print("-" * 35)
print(f"SUBTOTALE: €{totale_finale:.2f}")
print(f"TASSE (5%): €{tasse:.2f}")
print(f"TOTALE DA PAGARE: €{totale_finale_tasse:.2f}")
print("Grazie!")
# concession_stand_program()