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