File size: 2,800 Bytes
ea2481a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import streamlit as st

# Function to calculate calories burned during swimming based on swim style, now in pounds
def calories_swim(time_hr, weight_lb, style_mets):
    return (time_hr * style_mets * 3.5 * weight_lb) / 10

# Function to calculate calories burned during pull-ups based on grip style
def calories_pullup(reps, weight, grip_style_factor):
    return (reps * 5 * weight) / 150 * grip_style_factor

# Streamlit UI
st.title("Calories Burned Calculator πŸŠβ€β™‚οΈπŸ’ͺ")
st.sidebar.header("Input Parameters πŸ› οΈ")

# Swimming parameters
time_swim = st.sidebar.slider("Swimming Time (hours)", 0.0, 5.0, 2.0)
weight = st.sidebar.number_input("Your weight (lbs)", 100, 300, 175)

# Pull-Up parameters
reps = st.sidebar.slider("Number of Pull-Ups", 0, 500, 200)

# Choose Exercise Type
st.sidebar.subheader("Choose Exercise Type πŸ€Έβ€β™‚οΈ")
exercise_type = st.sidebar.selectbox(
    "",
    ["Swim Jim πŸŠβ€β™‚οΈ", "Ring King πŸ‘‘", "Both Boost πŸš€"]
)

# Revised Swim Styles with METs to meet your requirement
swim_styles = {
    "Treading Water 🌊": 6,
    "Backstroke πŸŠβ€β™‚οΈ": 9,
    "Breaststroke 🐸": 10,
    "Freestyle Light πŸ¦‹": 11,
    "Freestyle Vigorous πŸš€": 14.3,
    "Butterfly πŸ¦‹": 14.3,
    "Dog Paddle 🐢": 7
}

# Grip Styles with factors
grip_styles = {
    "Standard 🌟": 1,
    "Mixed Grip ✨": 1.1,
    "Wide Grip 🌠": 1.2
}

st.sidebar.subheader("Choose Swim Style 🌊")
swim_style = st.sidebar.selectbox(
    "",
    list(swim_styles.keys())
)

st.sidebar.subheader("Choose Ring Style πŸͺ")
grip_style = st.sidebar.selectbox(
    "",
    list(grip_styles.keys())
)

# Calculation
calories_from_swimming = calories_swim(time_swim, weight, swim_styles[swim_style])
calories_from_pullups = calories_pullup(reps, weight, grip_styles[grip_style])

# Display Results
st.subheader(f"Calories Burned πŸ”₯")
if exercise_type == "Swim Jim πŸŠβ€β™‚οΈ":
    st.write(f"Calories burned from swimming: {calories_from_swimming:.2f}")
elif exercise_type == "Ring King πŸ‘‘":
    st.write(f"Calories burned from pull-ups: {calories_from_pullups:.2f}")
else:
    total_calories = calories_from_swimming + calories_from_pullups
    st.write(f"Total calories burned: {total_calories:.2f}")

st.subheader("Muscle Groups Worked 🦾")
if exercise_type == "Swim Jim πŸŠβ€β™‚οΈ":
    st.write("Swimming works the back, shoulders, arms, and legs.")
elif exercise_type == "Ring King πŸ‘‘":
    st.write("Pull-ups work the back, biceps, and forearms.")
else:
    st.write("Doing both exercises works almost all major muscle groups!")

st.subheader(f"Swim Style: {swim_style} 🌊")
st.write(f"METS for chosen style: {swim_styles[swim_style]}")

st.subheader(f"Ring Style: {grip_style} πŸͺ")
st.write(f"Factor for chosen grip: {grip_styles[grip_style]}")