|
import streamlit as st |
|
|
|
|
|
def calories_swim(time_hr, weight_lb, style_mets): |
|
return (time_hr * style_mets * 3.5 * weight_lb) / 10 |
|
|
|
|
|
def calories_pullup(reps, weight, grip_style_factor): |
|
return (reps * 5 * weight) / 150 * grip_style_factor |
|
|
|
|
|
st.title("Calories Burned Calculator πββοΈπͺ") |
|
st.sidebar.header("Input 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) |
|
|
|
|
|
reps = st.sidebar.slider("Number of Pull-Ups", 0, 500, 200) |
|
|
|
|
|
st.sidebar.subheader("Choose Exercise Type π€ΈββοΈ") |
|
exercise_type = st.sidebar.selectbox( |
|
"", |
|
["Swim Jim πββοΈ", "Ring King π", "Both Boost π"] |
|
) |
|
|
|
|
|
swim_styles = { |
|
"Treading Water π": 6, |
|
"Backstroke πββοΈ": 9, |
|
"Breaststroke πΈ": 10, |
|
"Freestyle Light π¦": 11, |
|
"Freestyle Vigorous π": 14.3, |
|
"Butterfly π¦": 14.3, |
|
"Dog Paddle πΆ": 7 |
|
} |
|
|
|
|
|
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()) |
|
) |
|
|
|
|
|
calories_from_swimming = calories_swim(time_swim, weight, swim_styles[swim_style]) |
|
calories_from_pullups = calories_pullup(reps, weight, grip_styles[grip_style]) |
|
|
|
|
|
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]}") |