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]}") |