File size: 1,662 Bytes
67ab9c4
 
 
6922d95
67ab9c4
 
 
 
6922d95
67ab9c4
6922d95
 
 
 
67ab9c4
6922d95
 
 
 
 
 
67ab9c4
 
6922d95
67ab9c4
6922d95
67ab9c4
6922d95
67ab9c4
6922d95
 
67ab9c4
 
6922d95
 
 
 
 
 
 
 
67ab9c4
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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()