Spaces:
Sleeping
Sleeping
import streamlit as st | |
def main(): | |
st.title("Advanced Calculator") | |
# User inputs | |
num1 = st.number_input("Enter first number", value=0.0, format="%.2f") | |
num2 = st.number_input("Enter second number", value=0.0, format="%.2f") | |
num3 = st.number_input("Enter third number", value=0.0, format="%.2f") | |
operation = st.selectbox("Select operation", [ | |
"Addition", "Subtraction", "Multiplication", "Division", | |
"Average", "Maximum", "Minimum", "Exponentiation" | |
]) | |
result = None | |
if operation == "Exponentiation": | |
base = st.number_input("Enter base number", value=0.0, format="%.2f") | |
exponent = st.number_input("Enter exponent", value=1.0, format="%.2f") | |
if st.button("Calculate"): | |
if operation == "Addition": | |
result = num1 + num2 + num3 | |
elif operation == "Subtraction": | |
result = num1 - num2 - num3 | |
elif operation == "Multiplication": | |
result = num1 * num2 * num3 | |
elif operation == "Division": | |
if num2 != 0 and num3 != 0: | |
result = num1 / num2 / num3 | |
else: | |
st.error("Cannot divide by zero") | |
elif operation == "Average": | |
result = (num1 + num2 + num3) / 3 | |
elif operation == "Maximum": | |
result = max(num1, num2, num3) | |
elif operation == "Minimum": | |
result = min(num1, num2, num3) | |
elif operation == "Exponentiation": | |
result = base ** exponent # Fixed exponentiation logic | |
if result is not None: | |
st.success(f"The result is: {result}") | |
if __name__ == "__main__": | |
main() | |