import gradio as gr import re def calcola_budget(testo): righe = testo.lower().split(",") entrate, uscite = [], [] totale_entrate, totale_uscite = 0, 0 for riga in righe: match = re.search(r"([a-zàèéùìò ]+)\s*([\d\.]+)", riga.strip()) if match: descrizione, valore = match.groups() valore = float(valore) if any(k in descrizione for k in ["stipendio", "bonus", "entrata", "vendita", "rimborso"]): entrate.append((descrizione.strip(), valore)) totale_entrate += valore else: uscite.append((descrizione.strip(), valore)) totale_uscite += valore saldo = totale_entrate - totale_uscite riepilogo = f"📥 Entrate: {totale_entrate:.2f} €\n📤 Uscite: {totale_uscite:.2f} €\n💰 Saldo: {saldo:.2f} €\n\n" riepilogo += "🔹 **Dettaglio Entrate**\n" for e in entrate: riepilogo += f"- {e[0].capitalize()}: {e[1]} €\n" riepilogo += "\n🔸 **Dettaglio Uscite**\n" for u in uscite: riepilogo += f"- {u[0].capitalize()}: {u[1]} €\n" return riepilogo demo = gr.Interface(fn=calcola_budget, inputs=gr.Textbox(lines=4, placeholder="Es. stipendio 1800, affitto 750, spesa 250"), outputs="text", title="Calcolo Entrate/Uscite Mensili", description="Scrivi una lista veloce di entrate e uscite. Ti calcoliamo il saldo.") demo.launch()