import gradio as gr import math def calculator(num1, operation, num2=None): if operation == "add": return num1 + num2 elif operation == "subtract": return num1 - num2 elif operation == "multiply": return num1 * num2 elif operation == "divide": return num1 / num2 elif operation == "square": return num1 * num1 elif operation == "cube": return num1 * num1 * num1 elif operation == "exponential": return math.pow(num1, num2) elif operation == "sin": return math.sin(num1) elif operation == "cos": return math.cos(num1) elif operation == "tan": return math.tan(num1) elif operation == "sqrt": return math.sqrt(num1) elif operation == "sinh": return math.sinh(num1) elif operation == "cosh": return math.cosh(num1) elif operation == "tanh": return math.tanh(num1) demo = gr.Interface( fn=calculator, inputs=[ gr.Number(value=4), gr.Radio(["add", "subtract", "multiply", "divide", "square", "cube", "exponential", "sin", "cos", "tan", "sqrt", "sinh", "cosh", "tanh"]), gr.Number(value=2, label="Second Number (optional)", optional=True) ], outputs="number", examples=[ [5, "add", 3], [4, "divide", 2], [-4, "multiply", 2.5], [0, "subtract", 1.2], [2, "exponential", 3], [1.5, "sin"], [2.3, "cos"], [0.8, "tan"], [9, "sqrt"], [1.2, "sinh"], [2.1, "cosh"], [0.7, "tanh"] ], title="Scientific Calculator", description="Here's a sample scientific calculator. Enjoy! Code by: Freddy Aboulton Improved by: Usually3" ) demo.launch()