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()