Prova / app.py
nettaredam's picture
Create app.py
3aaf0af verified
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()