import gradio as gr | |
def calculator(num1, operation, num2): | |
if operation == "add": | |
return num1 + num2 | |
elif operation == "subtract": | |
return num1 - num2 | |
elif operation == "multiply": | |
return num1 * num2 | |
elif operation == "divide": | |
return num1 / num2 | |
with gr.Blocks() as demo: | |
with gr.Row(): | |
with gr.Column(): | |
num_1 = gr.Number() | |
operation = gr.Radio(["add", "subtract", "multiply", "divide"]) | |
num_2 = gr.Number() | |
submit_btn = gr.Button(value="Calculate") | |
with gr.Column(): | |
result = gr.Number() | |
submit_btn.click(calculator, inputs=[num_1, operation, num_2], outputs=[result]) | |
examples = gr.Examples(examples=[[5, "add", 3], | |
[4, "divide", 2], | |
[-4, "multiply", 2.5], | |
[0, "subtract", 1.2]], | |
inputs=[num_1, operation, num_2], | |
outputs=[result], | |
fn=calculator, | |
cache_examples=True) | |
if __name__ == "__main__": | |
demo.launch() | |