import gradio as gr def calculate(a, b, operation): if a is None: a = 0 if b is None: b = 0 if operation == "Addition (+)": result = a + b elif operation == "Subtraction (-)": result = a - b elif operation == "Multiplication (×)": result = a * b elif operation == "Division (÷)": if b == 0: return "Error: Cannot divide by zero!" result = a / b elif operation == "Percentage (%)": result = (a * b) / 100 else: return "Invalid operation" return f"### Result: {result:,.8g}" with gr.Blocks(theme=gr.themes.Soft()) as demo: gr.Markdown( """ # 🧮 Smart Calculator ### Calculate anything, quickly and easily! """ ) with gr.Row(): num1 = gr.Number(label="First Number", value=10) num2 = gr.Number(label="Second Number", value=5) operation = gr.Radio( choices=[ "Addition (+)", "Subtraction (-)", "Multiplication (×)", "Division (÷)", "Percentage (%)" ], value="Addition (+)", label="Select Operation" ) calculate_btn = gr.Button("Calculate ✨", variant="primary") output = gr.Markdown() calculate_btn.click( fn=calculate, inputs=[num1, num2, operation], outputs=output ) gr.Markdown("Made with Python and Gradio ❤️") demo.launch()