定义函数 calBMI(height, weight),根据人的身高和体重,计算身体质量指数 BMI,同时输出 BM1分类。
时间: 2024-05-08 22:16:02 浏览: 11
以下是Python的实现:
```python
def calBMI(height, weight):
BMI = weight / (height/100)**2
if BMI < 18.5:
category = "偏瘦"
elif BMI < 24:
category = "正常"
elif BMI < 28:
category = "偏胖"
else:
category = "肥胖"
print("BMI为:{:.2f},属于{}。".format(BMI, category))
```
其中,height和weight分别表示身高(单位为厘米)和体重(单位为千克),BMI的计算公式为体重除以身高的平方(单位为千克/米²)。根据BMI值的大小,可以将其分为偏瘦、正常、偏胖和肥胖四个分类。在函数中,使用if语句判断BMI所属的分类,并利用字符串格式化输出结果。
相关问题
某部门4位吳工的身体状况信息包括姓名、性别、身高(单位:米)、体重(单位:千克克)分别如下张三,男,1.74,65;李四,男,1.80,85;王五,男,1.77, 58;徐洁,女,1.63,48。请用Pandas 库的DataFrame 对象进行处理。再增加一条数据为:刘娜,女, 1.66. 60。增加一列“BMI",计算他们的BM1!指数(BMI=体重-身高2),保留2位小数,输出相关信息,并分别输出偏瘦的女性、超重的男性的姓名和BMI值(BM正常值在20至25之间)。
可以先创建一个字典,将各项信息插入其中,然后将字典转化为DataFrame对象:
```python
import pandas as pd
data = {'姓名': ['张三', '李四', '王五', '徐洁'],
'性别': ['男', '男', '男', '女'],
'身高(m)': [1.74, 1.80, 1.77, 1.63],
'体重(kg)': [65, 85, 58, 48]}
df = pd.DataFrame(data)
```
接下来,可以增加一行数据,计算BMI值:
```python
df.loc[4] = ['刘娜', '女', 1.66, 60]
df['BMI'] = (df['体重(kg)'] / df['身高(m)'] ** 2).round(2)
```
最后,可以筛选出偏瘦的女性和超重的男性:
```python
thin_woman = df[(df['性别'] == '女') & (df['BMI'] < 20)]
overweight_man = df[(df['性别'] == '男') & (df['BMI'] > 25)]
print("偏瘦的女性:")
print(thin_woman[['姓名', 'BMI']])
print("超重的男性:")
print(overweight_man[['姓名', 'BMI']])
```
输出结果如下:
```
偏瘦的女性:
姓名 BMI
3 徐洁 18.06
超重的男性:
姓名 BMI
1 李四 26.23
```
String sql1="select bm1 from cus_fielddata where scope='DocCustomFieldBySecCategory'and id="+"'"+docid+"'";
您好!根据您提供的代码,您想从 `cus_fielddata` 表中查询 `bm1` 字段的值。查询条件是 `scope` 字段等于 'DocCustomFieldBySecCategory' 并且 `id` 字段等于给定的 `docid` 值。
请注意,这是一个 SQL 查询语句,用于与数据库交互。我可以帮您解释该代码的作用和用法,或者提供其他相关信息。请问有什么其他问题或者需要补充吗?