Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import numpy as np | |
| import math | |
| def calculate(expression): | |
| try: | |
| expression = expression.replace("^", "**") | |
| allowed_names = { | |
| "sin": np.sin, | |
| "cos": np.cos, | |
| "tan": np.tan, | |
| "log": np.log10, | |
| "ln": np.log, | |
| "sqrt": np.sqrt, | |
| "pi": np.pi, | |
| "e": np.e, | |
| "abs": abs, | |
| "factorial": math.factorial, | |
| "exp": np.exp | |
| } | |
| result = eval(expression, {"__builtins__": None}, allowed_names) | |
| return str(result) | |
| except Exception as e: | |
| return "Invalid expression" | |
| with gr.Blocks() as demo: | |
| gr.Markdown("## 🔬 Scientific Calculator") | |
| input_box = gr.Textbox(label="Enter Expression") | |
| output_box = gr.Textbox(label="Result") | |
| gr.Button("Calculate").click( | |
| calculate, | |
| inputs=input_box, | |
| outputs=output_box | |
| ) | |
| demo.launch() | |