实验4输出身体状况 实验教学目标: 使用if-else分支和while循环语句解决问题。 实验场地或主要设备与器材:计算机 用户依次输入身高(m),体重(kg) 计算公式:BMI =身高/ 体重^2 BMI < 18.5:过轻 18.5≤ BMI <24:正常 24 ≤ BMI <27:过重 27 ≤ BMI < 30:轻度肥胖 30 ≤ BMI < 35:中度肥胖 BMI ≥ 35:重度肥胖 输出格式:您的BMI是:bmi,状态(过轻,正常...),bmi保留三位小数 如果输入的身高大于2.5m或者体重大于150kg,输出“输入数据不符合实际,请重新输入” 代码
时间: 2024-02-13 19:03:54 浏览: 75
好的,以下是实现上述功能的 Python 代码:
```python
while True:
height = float(input("请输入身高(单位:米):"))
weight = float(input("请输入体重(单位:千克):"))
if height > 2.5 or weight > 150:
print("输入数据不符合实际,请重新输入")
continue
bmi = weight / (height ** 2)
bmi_str = "{:.3f}".format(bmi)
if bmi < 18.5:
print("您的BMI是:{},状态:过轻".format(bmi_str))
elif 18.5 <= bmi < 24:
print("您的BMI是:{},状态:正常".format(bmi_str))
elif 24 <= bmi < 27:
print("您的BMI是:{},状态:过重".format(bmi_str))
elif 27 <= bmi < 30:
print("您的BMI是:{},状态:轻度肥胖".format(bmi_str))
elif 30 <= bmi < 35:
print("您的BMI是:{},状态:中度肥胖".format(bmi_str))
else:
print("您的BMI是:{},状态:重度肥胖".format(bmi_str))
break
```
该代码首先使用 while 循环,确保用户输入的身高和体重符合实际情况。如果输入的身高大于2.5m或者体重大于150kg,输出提示信息并继续循环,要求用户重新输入。否则,计算出 BMI 值,并使用 if-else 分支语句判断用户的身体状况,最后输出结果。在输出 BMI 值时,使用了 format 函数保留了三位小数。
阅读全文