File size: 1,890 Bytes
0bd62e5
1
{"cells": [{"cell_type": "markdown", "id": "302934307671667531413257853548643485645", "metadata": {}, "source": ["# Gradio Demo: calculator_blocks_cached"]}, {"cell_type": "code", "execution_count": null, "id": "272996653310673477252411125948039410165", "metadata": {}, "outputs": [], "source": ["!pip install -q gradio "]}, {"cell_type": "code", "execution_count": null, "id": "288918539441861185822528903084949547379", "metadata": {}, "outputs": [], "source": ["import gradio as gr\n", "\n", "def calculator(num1, operation, num2):\n", "    if operation == \"add\":\n", "        return num1 + num2\n", "    elif operation == \"subtract\":\n", "        return num1 - num2\n", "    elif operation == \"multiply\":\n", "        return num1 * num2\n", "    elif operation == \"divide\":\n", "        return num1 / num2\n", "\n", "with gr.Blocks() as demo:\n", "    with gr.Row():\n", "        with gr.Column():\n", "            num_1 = gr.Number()\n", "            operation = gr.Radio([\"add\", \"subtract\", \"multiply\", \"divide\"])\n", "            num_2 = gr.Number()\n", "            submit_btn = gr.Button(value=\"Calculate\")\n", "        with gr.Column():\n", "            result = gr.Number()\n", "\n", "    submit_btn.click(calculator, inputs=[num_1, operation, num_2], outputs=[result])\n", "    examples = gr.Examples(examples=[[5, \"add\", 3],\n", "                                     [4, \"divide\", 2],\n", "                                     [-4, \"multiply\", 2.5],\n", "                                     [0, \"subtract\", 1.2]],\n", "                           inputs=[num_1, operation, num_2],\n", "                           outputs=[result],\n", "                           fn=calculator,\n", "                           cache_examples=True)\n", "\n", "if __name__ == \"__main__\":\n", "    demo.launch()\n"]}], "metadata": {}, "nbformat": 4, "nbformat_minor": 5}