Papu450/Advanced_Calculator
0
1import streamlit as st2import numpy as np3 4st.set_page_config(page_title="Advanced Calculator", layout="centered")5st.title("🧮 Advanced Calculator")6 7st.markdown("""8This calculator supports:9- Basic arithmetic: `+`, `-`, `*`, `/`, `**`10- Trigonometry: `sin`, `cos`, `tan`, `arcsin`, `arccos`, `arctan`11- Exponential and logarithmic: `exp`, `log`, `log10`12- Power, roots: `sqrt`, `**`13- Constants: `pi`, `e`14""")15 16expression = st.text_input("Enter your expression below:", value="sin(pi / 4) + log(10)")17 18# Safe namespace for eval19safe_dict = {20 'sin': np.sin,21 'cos': np.cos,22 'tan': np.tan,23 'arcsin': np.arcsin,24 'arccos': np.arccos,25 'arctan': np.arctan,26 'log': np.log,27 'log10': np.log10,28 'exp': np.exp,29 'sqrt': np.sqrt,30 'pi': np.pi,31 'e': np.e,32 'abs': abs,33 'pow': pow34}35 36def evaluate_expression(expr):37 try:38 result = eval(expr, {"__builtins__": {}}, safe_dict)39 return result40 except Exception as e:41 return f"❌ Error: {e}"42 43if expression:44 result = evaluate_expression(expression)45 st.write("### Result:")46 st.code(result)