```python
def calculate_bmi(weight, height):
bmi = weight / (height 2) return round(bmi, 1) def calculate_body_fat_percentage(weight, height, gender): if gender == 'male': body_fat_percentage = (1.2 * weight) / (height
elif gender == 'female':
body_fat_percentage = (1.3 * weight) / (height 2) else: raise ValueError("性别输入错误,请输入'男'或'女'") return round(body_fat_percentage * 100, 2) def main(): try: weight = float(input('请输入您的体重(kg): ')) height = float(input('请输入您的身高(m): ')) gender = input('请输入您的性别(男:1,女:0): ') bmi = calculate_bmi(weight, height) body_fat_percentage = calculate_body_fat_percentage(weight, height, gender) print(f'您的BMI指数是: {bmi}') print(f'您的体脂率是: {body_fat_percentage}%') 判断体脂率是否在正常范围内 if 15 + 10 * (1 - int(gender)) < body_fat_percentage < 18 + 10 * (1 - int(gender)): print('体脂率在正常范围内') else: print('体脂率不在正常范围内,请参考健康标准') except ValueError as e: print(f'输入错误: {e}') if __name__ == '__main__': main() ``` 代码说明: 体重(kg) 身高(m) 性别(男:1, 女:0) 使用公式 `BMI = 体重 / (身高 输入部分
计算BMI
计算体脂率
根据性别使用不同的公式:
男性:`体脂率 = (1.2 * 体重) / (身高 2)`
女性:`体脂率 = (1.3 * 体重) / (身高 2)`
输出结果
输出BMI指数
输出体脂率(百分比)
判断体脂率是否在正常范围内(男性:15-23%,女性:15-28%)
异常处理
捕获并处理输入错误,如非数字输入或性别输入错误。
这个程序可以作为一个简单的体重和体脂率计算器,帮助用户了解自己的身体状况。