Dearsawan's picture
Create app.py
50e1595 verified
import streamlit as st
import math
# Define a function for the scientific calculator
def scientific_calculator():
st.title("Scientific Calculator")
st.write("This is a simple scientific calculator with various functions.")
# Display the operations menu
operation = st.selectbox(
"Choose an operation:",
["Addition", "Subtraction", "Multiplication", "Division",
"Exponentiation", "Square Root", "Sine", "Cosine", "Tangent", "Logarithm"]
)
if operation == "Addition":
num1 = st.number_input("Enter first number:", value=0.0)
num2 = st.number_input("Enter second number:", value=0.0)
if st.button("Calculate"):
result = num1 + num2
st.write(f"Result: {result}")
elif operation == "Subtraction":
num1 = st.number_input("Enter first number:", value=0.0)
num2 = st.number_input("Enter second number:", value=0.0)
if st.button("Calculate"):
result = num1 - num2
st.write(f"Result: {result}")
elif operation == "Multiplication":
num1 = st.number_input("Enter first number:", value=0.0)
num2 = st.number_input("Enter second number:", value=0.0)
if st.button("Calculate"):
result = num1 * num2
st.write(f"Result: {result}")
elif operation == "Division":
num1 = st.number_input("Enter first number:", value=0.0)
num2 = st.number_input("Enter second number:", value=0.0)
if st.button("Calculate"):
if num2 != 0:
result = num1 / num2
st.write(f"Result: {result}")
else:
st.write("Error: Cannot divide by zero!")
elif operation == "Exponentiation":
base = st.number_input("Enter base number:", value=0.0)
exponent = st.number_input("Enter exponent:", value=0.0)
if st.button("Calculate"):
result = math.pow(base, exponent)
st.write(f"Result: {result}")
elif operation == "Square Root":
num = st.number_input("Enter number:", value=0.0)
if st.button("Calculate"):
if num >= 0:
result = math.sqrt(num)
st.write(f"Result: {result}")
else:
st.write("Error: Cannot take square root of negative number!")
elif operation == "Sine":
angle = st.number_input("Enter angle in degrees:", value=0.0)
if st.button("Calculate"):
angle_rad = math.radians(angle)
result = math.sin(angle_rad)
st.write(f"Result: {result}")
elif operation == "Cosine":
angle = st.number_input("Enter angle in degrees:", value=0.0)
if st.button("Calculate"):
angle_rad = math.radians(angle)
result = math.cos(angle_rad)
st.write(f"Result: {result}")
elif operation == "Tangent":
angle = st.number_input("Enter angle in degrees:", value=0.0)
if st.button("Calculate"):
angle_rad = math.radians(angle)
result = math.tan(angle_rad)
st.write(f"Result: {result}")
elif operation == "Logarithm":
num = st.number_input("Enter number:", value=0.0)
if st.button("Calculate"):
if num > 0:
result = math.log(num)
st.write(f"Result: {result}")
else:
st.write("Error: Logarithm undefined for non-positive numbers!")
# Call the scientific calculator function
if __name__ == "__main__":
scientific_calculator()