def calculate_bmi(weight, height): height_m = height / 100 return weight / (height_m ** 2) def bmi_category(bmi): if bmi < 18.5: return "Underweight" elif bmi < 25: return "Normal Weight" elif bmi < 30: return "Overweight" else: return "Obese" def build_prompt(name, age, gender, height, weight, goal, fitness_level, equipment): bmi = calculate_bmi(weight, height) bmi_status = bmi_category(bmi) equipment_list = ", ".join(equipment) if equipment else "No Equipment" prompt = f""" You are a certified professional fitness trainer. Create a structured 5-day personalized workout plan. User Profile: - Name: {name} - Age: {age} - Gender: {gender} - Height: {height} cm - Weight: {weight} kg - BMI: {bmi:.2f} ({bmi_status}) - Goal: {goal} - Fitness Level: {fitness_level} - Available Equipment: {equipment_list} Instructions: 1. Divide clearly into Day 1 to Day 5. 2. Include exercise name. 3. Include sets and reps. 4. Include rest period. 5. Adjust intensity based on BMI category. 6. Avoid unsafe exercises for beginners. 7. Keep the plan professional and easy to follow. """ return prompt, bmi, bmi_status