File size: 1,865 Bytes
0bd62e5
1
{"cells": [{"cell_type": "markdown", "id": "302934307671667531413257853548643485645", "metadata": {}, "source": ["# Gradio Demo: tax_calculator\n", "### Calculate taxes using Textbox, Radio, and Dataframe components\n", "        "]}, {"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 tax_calculator(income, marital_status, assets):\n", "    tax_brackets = [(10, 0), (25, 8), (60, 12), (120, 20), (250, 30)]\n", "    total_deductible = sum(assets[\"Cost\"])\n", "    taxable_income = income - total_deductible\n", "\n", "    total_tax = 0\n", "    for bracket, rate in tax_brackets:\n", "        if taxable_income > bracket:\n", "            total_tax += (taxable_income - bracket) * rate / 100\n", "\n", "    if marital_status == \"Married\":\n", "        total_tax *= 0.75\n", "    elif marital_status == \"Divorced\":\n", "        total_tax *= 0.8\n", "\n", "    return round(total_tax)\n", "\n", "demo = gr.Interface(\n", "    tax_calculator,\n", "    [\n", "        \"number\",\n", "        gr.Radio([\"Single\", \"Married\", \"Divorced\"]),\n", "        gr.Dataframe(\n", "            headers=[\"Item\", \"Cost\"],\n", "            datatype=[\"str\", \"number\"],\n", "            label=\"Assets Purchased this Year\",\n", "        ),\n", "    ],\n", "    \"number\",\n", "    examples=[\n", "        [10000, \"Married\", [[\"Suit\", 5000], [\"Laptop\", 800], [\"Car\", 1800]]],\n", "        [80000, \"Single\", [[\"Suit\", 800], [\"Watch\", 1800], [\"Car\", 800]]],\n", "    ],\n", ")\n", "\n", "demo.launch()\n"]}], "metadata": {}, "nbformat": 4, "nbformat_minor": 5}