Python计算BMI指数(用if-elif)
时间: 2024-10-10 21:10:47 浏览: 72
在Python中,我们可以使用if-elif结构来计算一个人的BMI(身体质量指数),它是一个衡量体重是否健康的标准。公式是:BMI = 体重(公斤) / 身高(米)的平方。以下是使用if-elif编写的一个简单示例:
```python
def calculate_bmi(weight, height):
# 将身高从厘米转换为米
height_m = height / 100
# 计算BMI
bmi = weight / (height_m ** 2)
if bmi < 18.5:
return "您的BMI为{:.1f},属于偏轻。".format(bmi)
elif 18.5 <= bmi < 24:
return "您的BMI为{:.1f},属于正常范围。".format(bmi)
elif 24 <= bmi < 28:
return "您的BMI为{:.1f},属于超重。".format(bmi)
else:
return "您的BMI为{:.1f},属于肥胖范围。".format(bmi)
# 示例输入
weight_kg = float(input("请输入您的体重(公斤):"))
height_cm = float(input("请输入您的身高(厘米):"))
result = calculate_bmi(weight_kg, height_cm)
print(result)
相关问题
第二题:使用分支结构 (如if-elif-else) 来判断BMI指数所属的体重状态。 BMI指数与体重状态的对应关系如下: BMI < 18.5: 体重过轻 18.5 s BMI < 24: 正常范围 24 s BMI < 28: 超重 BMI 2 28: 肥胖
在这个问题中,你需要编写一个程序,根据用户输入的BMI值,使用`if-elif-else`语句来判断其体重状况。以下是完整的Python代码示例:
```python
# 提示用户输入体重和身高
weight_str = input("请输入体重(单位kg):")
height_str = input("请输入身高(单位m):")
# 将字符串转换为浮点数并计算BMI
weight = float(weight_str)
height = float(height_str)
BMI = weight / (height ** 2)
# 判断BMI值对应的体重状态
if BMI < 18.5:
status = "体重过轻"
elif 18.5 <= BMI < 24:
status = "正常范围"
elif 24 <= BMI < 28:
status = "超重"
else:
status = "肥胖"
# 打印结果
output = f"您的BMI指数是{BMI:.2f}, 体重状态是{status}"
print(output)
```
在这个程序里,我们首先检查BMI是否小于18.5,如果是,则输出“体重过轻”。接着检查18.5到24之间的值,如果满足则输出“正常范围”,以此类推,直到达到“肥胖”的条件。如果没有匹配到任何一个条件,那么默认为“肥胖”。
4. 身体质量指数(简称体质指数又称体重指数,英文为Body Mass Index,简称BMI),是用体重公斤数除以身高米数平方得出的数字,是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。BMI值的不同反映了不同的肥胖程度,其对应关系如下: 偏瘦: BMI指数 < 18 正常体重: BMI指数 = 18 - 25 超重: BMI指数 = 25 - 30 轻度肥胖: BMI指数 = 30 - 35 中度肥胖: BMI指数 = 35 - 40 重度肥胖: BMI指数 > =40 请编写一个函数getBMI,它通过两个参数获得身高和体重,并返回一个由BMI数值和肥胖程度字符串两个元素构成的元组。在主程序中由用户输入身高和体重,通过调用自己编写的这个getBMI函数,打印BMI计算结果。
可以按照以下方式编写代码实现:
```python
def getBMI(height, weight):
bmi = weight / (height ** 2)
if bmi < 18:
level = '偏瘦'
elif bmi < 25:
level = '正常体重'
elif bmi < 30:
level = '超重'
elif bmi < 35:
level = '轻度肥胖'
elif bmi < 40:
level = '中度肥胖'
else:
level = '重度肥胖'
return (bmi, level)
height = float(input('请输入身高(单位:米):'))
weight = float(input('请输入体重(单位:千克):'))
result = getBMI(height, weight)
print('BMI指数为:{:.2f},肥胖程度为:{}'.format(result[0], result[1]))
```
运行程序后,在控制台输入身高和体重,程序将计算BMI值并输出肥胖程度。注意,在计算BMI值时,身高需要转换为米,体重需要转换为千克。输出格式中,"{:.2f}"表示保留两位小数。
阅读全文