Spaces:
Sleeping
Sleeping
import streamlit as st | |
def main(): | |
st.title("Advanced Calculator") | |
# Number of inputs | |
num_inputs = st.number_input("Enter the number of inputs", min_value=2, max_value=10, value=2, step=1) | |
# User inputs | |
numbers = [] | |
for i in range(num_inputs): | |
numbers.append(st.number_input(f"Enter number {i+1}", value=0.0, format="%.2f")) | |
operation = st.selectbox("Choose an operation", ["Addition", "Subtraction", "Multiplication", "Division", "Modulus", "Exponentiation (Base^Power)", "Floor Division"]) | |
result = numbers[0] | |
if st.button("Calculate"): | |
try: | |
for index, num in enumerate(numbers[1:]): | |
if operation == "Addition": | |
result += num | |
elif operation == "Subtraction": | |
result -= num | |
elif operation == "Multiplication": | |
result *= num | |
elif operation == "Division": | |
if num != 0: | |
result /= num | |
else: | |
st.error("Cannot divide by zero!") | |
return | |
elif operation == "Modulus": | |
if num != 0: | |
result %= num | |
else: | |
st.error("Cannot find modulus with zero!") | |
return | |
elif operation == "Exponentiation (Base^Power)": | |
if index == 0: | |
base = result | |
power = num | |
result = base ** power | |
else: | |
result **= num | |
elif operation == "Floor Division": | |
if num != 0: | |
result //= num | |
else: | |
st.error("Cannot perform floor division by zero!") | |
return | |
st.success(f"Result: {result}") | |
except Exception as e: | |
st.error(f"An error occurred: {e}") | |
if __name__ == "__main__": | |
main() | |