Spaces:
Sleeping
Sleeping
| 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() | |