Spaces:
Sleeping
Sleeping
import streamlit as st | |
def calculate_bmi(weight, height): | |
"""Calculate BMI using the formula: weight (kg) / (height (m) ^ 2).""" | |
return weight / (height ** 2) | |
def classify_bmi(bmi): | |
"""Classify BMI into categories.""" | |
if bmi < 18.5: | |
return "Underweight" | |
elif 18.5 <= bmi < 24.9: | |
return "Normal weight" | |
elif 25 <= bmi < 29.9: | |
return "Overweight" | |
else: | |
return "Obesity" | |
# Streamlit UI | |
st.set_page_config(page_title="BMI Calculator", page_icon="⚖️", layout="centered") | |
st.title("BMI Calculator") | |
st.write("Use this app to calculate your Body Mass Index (BMI) and understand your health status.") | |
# Input fields | |
st.sidebar.header("Input Your Details") | |
weight = st.sidebar.number_input("Enter your weight (kg):", min_value=1.0, step=0.1, format="%.1f") | |
height = st.sidebar.number_input("Enter your height (m):", min_value=0.1, step=0.01, format="%.2f") | |
if st.sidebar.button("Calculate BMI"): | |
if height > 0: | |
bmi = calculate_bmi(weight, height) | |
category = classify_bmi(bmi) | |
st.success(f"Your BMI is: {bmi:.2f}") | |
st.info(f"Category: {category}") | |
else: | |
st.error("Height must be greater than 0.") | |
else: | |
st.write("Enter your details in the sidebar and click 'Calculate BMI' to see the results.") |