File size: 2,814 Bytes
11fa257
 
a99f0fe
46b19ef
 
11fa257
46b19ef
 
 
11fa257
 
 
d5769f9
11fa257
 
d5769f9
 
 
46b19ef
7b6e912
d5769f9
46b19ef
d5769f9
 
 
 
 
 
a99f0fe
46b19ef
a99f0fe
 
 
 
 
 
 
7b6e912
 
46b19ef
 
 
7b6e912
 
 
 
d5769f9
 
 
46b19ef
d5769f9
 
 
46b19ef
d5769f9
46b19ef
d5769f9
 
 
 
46b19ef
 
d5769f9
46b19ef
d5769f9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46b19ef
d5769f9
46b19ef
 
a99f0fe
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
86
87
88
import streamlit as st

# Revised Function to calculate calories burned during swimming based on swim style
def calories_swim(time_hr, weight_kg, style_mets):
    return (time_hr * style_mets * 3.5 * weight_kg) / 200

# 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
swim_styles = {
    "Treading Water 🌊": 6.0,
    "Backstroke πŸŠβ€β™‚οΈ": 9.0,
    "Breaststroke 🐸": 10.0,
    "Freestyle Light πŸ¦‹": 11.0,
    "Freestyle Vigorous πŸš€": 13.0,
    "Butterfly πŸ¦‹": 12.0,
    "Dog Paddle 🐢": 7.0
}

# 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
weight_kg = weight * 0.453592
calories_from_swimming = calories_swim(time_swim, weight_kg, 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]}")