zainabbbbbbbbbb's picture
Create app.py
d099335 verified
import math
import streamlit as st
# Define functions for basic operations
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
if y != 0:
return x / y
else:
return "Error! Division by zero."
def square_root(x):
if x >= 0:
return math.sqrt(x)
else:
return "Error! Negative input."
def power(x, y):
return math.pow(x, y)
def sine(x):
return math.sin(math.radians(x))
def cosine(x):
return math.cos(math.radians(x))
def tangent(x):
return math.tan(math.radians(x))
# Streamlit App
st.title("Calculator App")
st.sidebar.title("Operations Menu")
# Menu for selecting operations
operation = st.sidebar.selectbox(
"Select operation:",
["Add", "Subtract", "Multiply", "Divide", "Square Root", "Power", "Sine", "Cosine", "Tangent"]
)
# Inputs based on selected operation
if operation in ["Add", "Subtract", "Multiply", "Divide", "Power"]:
x = st.number_input("Enter the first number:", value=0.0)
y = st.number_input("Enter the second number:", value=0.0)
if st.button("Calculate"):
if operation == "Add":
st.write(f"Result: {x} + {y} = {add(x, y)}")
elif operation == "Subtract":
st.write(f"Result: {x} - {y} = {subtract(x, y)}")
elif operation == "Multiply":
st.write(f"Result: {x} * {y} = {multiply(x, y)}")
elif operation == "Divide":
st.write(f"Result: {x} / {y} = {divide(x, y)}")
elif operation == "Power":
st.write(f"Result: {x} ^ {y} = {power(x, y)}")
elif operation == "Square Root":
x = st.number_input("Enter the number:", value=0.0)
if st.button("Calculate"):
st.write(f"Result: √{x} = {square_root(x)}")
elif operation in ["Sine", "Cosine", "Tangent"]:
x = st.number_input("Enter the angle (in degrees):", value=0.0)
if st.button("Calculate"):
if operation == "Sine":
st.write(f"Result: sin({x}°) = {sine(x)}")
elif operation == "Cosine":
st.write(f"Result: cos({x}°) = {cosine(x)}")
elif operation == "Tangent":
st.write(f"Result: tan({x}°) = {tangent(x)}")