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()