Qasim-03's picture
Update app.py
597263c verified
raw
history blame
2.11 kB
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()