import datetime class GestoreSpese: def __init__(self): self.spese = [] def aggiungi_spesa(self, descrizione, importo, categoria): data = datetime.date.today() spesa = {"data": data, "descrizione": descrizione, "importo": importo, "categoria": categoria} self.spese.append(spesa) print("Spesa aggiunta con successo.") def visualizza_spese(self): if not self.spese: print("Nessuna spesa registrata.") else: for spesa in self.spese: print(f"Data: {spesa['data']}, Descrizione: {spesa['descrizione']}, " f"Importo: €{spesa['importo']:.2f}, Categoria: {spesa['categoria']}") def calcola_totale(self): return sum(spesa['importo'] for spesa in self.spese) def report_per_categoria(self): categorie = {} for spesa in self.spese: categoria = spesa['categoria'] if categoria in categorie: categorie[categoria] += spesa['importo'] else: categorie[categoria] = spesa['importo'] print("Report per categoria:") for categoria, totale in categorie.items(): print(f"{categoria}: €{totale:.2f}") # Esempio di utilizzo gestore = GestoreSpese() gestore.aggiungi_spesa("Pranzo di lavoro", 50.00, "Ristorazione") gestore.aggiungi_spesa("Cancelleria", 30.50, "Ufficio") gestore.aggiungi_spesa("Taxi", 25.00, "Trasporti") print("\nElenco delle spese:") gestore.visualizza_spese() print(f"\nTotale spese: €{gestore.calcola_totale():.2f}") print("\nReport per categoria:") gestore.report_per_categoria()