Spaces:
Build error
Build error
| import streamlit as st | |
| import math | |
| def main(): | |
| st.title("🧮 Advanced Calculator") | |
| st.write("This calculator performs basic and advanced math operations.") | |
| num1 = st.number_input("Enter first number:", value=0.0) | |
| num2 = st.number_input("Enter second number:", value=0.0) | |
| operation = st.selectbox("Choose an operation:", ( | |
| "Addition", | |
| "Subtraction", | |
| "Multiplication", | |
| "Division", | |
| "Exponentiation (x^y)", | |
| "Modulo (x % y)", | |
| "Square Root (√x)", | |
| "Absolute Value (|x|, |y|)" | |
| )) | |
| result = None | |
| if st.button("Calculate"): | |
| if operation == "Addition": | |
| result = num1 + num2 | |
| elif operation == "Subtraction": | |
| result = num1 - num2 | |
| elif operation == "Multiplication": | |
| result = num1 * num2 | |
| elif operation == "Division": | |
| if num2 != 0: | |
| result = num1 / num2 | |
| else: | |
| st.error("Cannot divide by zero!") | |
| elif operation == "Exponentiation (x^y)": | |
| result = math.pow(num1, num2) | |
| elif operation == "Modulo (x % y)": | |
| if num2 != 0: | |
| result = num1 % num2 | |
| else: | |
| st.error("Cannot modulo by zero!") | |
| elif operation == "Square Root (√x)": | |
| if num1 >= 0: | |
| result = math.sqrt(num1) | |
| else: | |
| st.error("Cannot calculate square root of negative number!") | |
| elif operation == "Absolute Value (|x|, |y|)": | |
| result = f"|{num1}| = {abs(num1)}, |{num2}| = {abs(num2)}" | |
| if result is not None: | |
| st.success(f"Result: {result}") | |
| if __name__ == "__main__": | |
| main() | |