Spaces:
Sleeping
Sleeping
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)}") | |