Spaces:
Build error
Build error
| import streamlit as st | |
| import math | |
| # Title of the app | |
| st.title("🧮 Scientific Calculator") | |
| # Description | |
| st.write("Perform various mathematical operations including basic arithmetic, logarithms, trigonometric functions, and more.") | |
| # Dropdown menu for operations | |
| operation = st.selectbox( | |
| "Select an operation:", | |
| [ | |
| "Addition", | |
| "Subtraction", | |
| "Multiplication", | |
| "Division", | |
| "Power", | |
| "Square Root", | |
| "Logarithm (base 10)", | |
| "Natural Logarithm (ln)", | |
| "Sine", | |
| "Cosine", | |
| "Tangent" | |
| ] | |
| ) | |
| # Input fields for operations | |
| if operation in ["Addition", "Subtraction", "Multiplication", "Division", "Power"]: | |
| num1 = st.number_input("Enter the first number:", format="%.2f") | |
| num2 = st.number_input("Enter the second number:", format="%.2f") | |
| if st.button("Calculate"): | |
| if operation == "Addition": | |
| st.success(f"Result: {num1} + {num2} = {num1 + num2}") | |
| elif operation == "Subtraction": | |
| st.success(f"Result: {num1} - {num2} = {num1 - num2}") | |
| elif operation == "Multiplication": | |
| st.success(f"Result: {num1} * {num2} = {num1 * num2}") | |
| elif operation == "Division": | |
| if num2 != 0: | |
| st.success(f"Result: {num1} / {num2} = {num1 / num2}") | |
| else: | |
| st.error("Error: Division by zero is not allowed.") | |
| elif operation == "Power": | |
| st.success(f"Result: {num1} ^ {num2} = {math.pow(num1, num2)}") | |
| elif operation == "Square Root": | |
| num = st.number_input("Enter the number:", format="%.2f") | |
| if st.button("Calculate"): | |
| if num >= 0: | |
| st.success(f"Result: √{num} = {math.sqrt(num)}") | |
| else: | |
| st.error("Error: Square root of a negative number is not allowed.") | |
| elif operation == "Logarithm (base 10)": | |
| num = st.number_input("Enter the number:", format="%.2f") | |
| if st.button("Calculate"): | |
| if num > 0: | |
| st.success(f"Result: log10({num}) = {math.log10(num)}") | |
| else: | |
| st.error("Error: Logarithm is only defined for positive numbers.") | |
| elif operation == "Natural Logarithm (ln)": | |
| num = st.number_input("Enter the number:", format="%.2f") | |
| if st.button("Calculate"): | |
| if num > 0: | |
| st.success(f"Result: ln({num}) = {math.log(num)}") | |
| else: | |
| st.error("Error: Natural logarithm is only defined for positive numbers.") | |
| elif operation in ["Sine", "Cosine", "Tangent"]: | |
| angle = st.number_input("Enter the angle in degrees:", format="%.2f") | |
| if st.button("Calculate"): | |
| radians = math.radians(angle) | |
| if operation == "Sine": | |
| st.success(f"Result: sin({angle}) = {math.sin(radians)}") | |
| elif operation == "Cosine": | |
| st.success(f"Result: cos({angle}) = {math.cos(radians)}") | |
| elif operation == "Tangent": | |
| st.success(f"Result: tan({angle}) = {math.tan(radians)}") | |