python根据函数输出存储2男2女的CSV文件(个人信息自定),要求包括性别、身高、年龄、体重、BMR指数(保留2位有效数字)
时间: 2024-06-10 20:05:36 浏览: 140
好的,您可以使用下面的代码实现:
```python
import csv
# 定义函数计算BMR值
def calc_bmr(gender, height, weight, age):
if gender == '男':
return round(13.7 * weight + 5.0 * height - 6.8 * age + 66, 2)
else:
return round(9.6 * weight + 1.8 * height - 4.7 * age + 655, 2)
# 定义数据
data = [
['男', 175, 65, 25],
['女', 160, 50, 30],
['男', 180, 75, 35],
['女', 165, 55, 20]
]
# 计算BMR指数
bmr = []
for d in data:
bmr_val = calc_bmr(d[0], d[1], d[2], d[3])
bmr.append(bmr_val)
# 写入CSV文件
with open('person.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['性别', '身高', '体重', '年龄', 'BMR'])
for i, d in enumerate(data):
writer.writerow([d[0], d[1], d[2], d[3], bmr[i]])
```
在上述代码中,我们定义了一个 `calc_bmr` 函数,输入性别、身高、体重、年龄等参数,计算出相应的BMR值。然后我们定义了一个 `data` 列表,其中存储了2男2女的个人信息。接着我们遍历 `data` 列表,依次计算每个人的BMR指数,并将结果存储在 `bmr` 列表中。
最后,我们使用 `csv` 模块将数据写入CSV文件中,文件名为 `person.csv`。注意在写入每行数据时,需要将性别、身高、体重、年龄和BMR值一一对应地写入。
希望能够帮到您!
阅读全文