import gradio as gr # Stock n'ibiciro (price ku kintu kimwe) stock = { "Ibiryayi": 100, "Ibitunguru": 50, "Karoti": 30, "Ibicuruzwa_A": 50, "Ibicuruzwa_B": 8, "Ibicuruzwa_C": 0, "Ibicuruzwa_D": 15, "Amashu": 40, "Imyembe": 25, "Inanasi": 60, "Amashaza": 70, "Ibinyomoro": 10, } prices = { "Ibiryayi": 200, "Ibitunguru": 150, "Karoti": 120, "Ibicuruzwa_A": 500, "Ibicuruzwa_B": 800, "Ibicuruzwa_C": 1000, "Ibicuruzwa_D": 400, "Amashu": 250, "Imyembe": 300, "Inanasi": 350, "Amashaza": 180, "Ibinyomoro": 600, } def show_price(product_name): if not product_name: return "Hitamo igicuruzwa." price = prices.get(product_name) quantity = stock.get(product_name) if price is None or quantity is None: return f"Icyo gicuruzwa '{product_name}' ntikirimo mu bubiko cyangwa nta giciro gifite." return f"Igicuruzwa '{product_name}' gifite ububiko bungana na {quantity} kandi igiciro cya kimwe ni {price} RWF." def calc_total(product_name, quantity): if not product_name: return "Hitamo igicuruzwa." if product_name not in stock or product_name not in prices: return f"Icyo gicuruzwa '{product_name}' ntikirimo mu bubiko cyangwa nta giciro gifite." if quantity is None or quantity <= 0: return "Andika ingano yifuza kugura (ikwiye kuba irenze 0)." available = stock[product_name] price = prices[product_name] if quantity > available: return f"Ububiko bwa '{product_name}' buboneka ni {available}, ntabwo ushobora kugura {quantity}." total_price = price * quantity return (f"Ububiko bwa '{product_name}' ni {available}. " f"Uhisemo kugura quantity {quantity}. " f"Igiciro cyose: {total_price} RWF.") with gr.Blocks() as demo: gr.Markdown("# Gucunga Ububiko & Kwerekana Ibiciro") with gr.Row(): product_dropdown = gr.Dropdown(choices=list(stock.keys()), label="Hitamo igicuruzwa") show_price_btn = gr.Button("Erekana igiciro n'ububiko") price_output = gr.Textbox(label="Ibisubizo", interactive=False) show_price_btn.click(show_price, inputs=product_dropdown, outputs=price_output) with gr.Row(): product_dropdown2 = gr.Dropdown(choices=list(stock.keys()), label="Hitamo igicuruzwa (kubara igiciro rusange)") quantity_input = gr.Number(label="Andika ingano yifuza kugura", value=1, precision=0) calc_btn = gr.Button("Bara igiciro rusange") total_output = gr.Textbox(label="Ibisubizo", interactive=False) calc_btn.click(calc_total, inputs=[product_dropdown2, quantity_input], outputs=total_output) if __name__ == "__main__": demo.launch()