编写程序完成以下功能: (1)编写函数writeFile(),其功能是打开一个文件,文件名称为“data.txt”,将考生本人的学号姓名和文字“健康状况判断!”写入文件中n次。 (2)编写函数,其功能是:根据BMI值判断身体状况,函数名称和参数为: judgeHealth(bmi)。bmi为身体质量指数。 BMI计算公式为:BMI = weight / (height*height) 根据BMI判断身体状况的标准: 身体状况 BMI值 偏瘦 <18.5 正常 [18.5, 24) 偏胖 [24, 28) 肥胖 >=28 (3)编写函数,其功能是:输出p_list列表中所有人的姓名、身高、体重、身体状况。函数名称和参数为:printResult(p_list)。 (4)下面列表中存放了所有人的姓名、身高、体重,调用writeFile函数写入100次对应信息;调用printResult函数输出所有人的姓名、身高、体重、身体状况;编写程序统计身体状况为正常的人数。 p_list = [ {"name": "tom", "height": 1.8, "weight": 65}, {"name": "marry", "height": 1.65, "weight": 55}, {"name": "peter", "height": 1.7, "weight": 95}, {"name": "tony", "height": 1.82, "weight": 50}, {"name": "alice", "height": 1.5, "weight": 45} ]
时间: 2023-07-19 18:40:32 浏览: 79
以下是Python的程序代码实现:
```python
import random
def writeFile(n):
with open("data.txt", "w") as f:
for i in range(n):
f.write("学号:xxx 姓名:xxx 健康状况判断!\n")
def judgeHealth(bmi):
if bmi < 18.5:
return "偏瘦"
elif bmi < 24:
return "正常"
elif bmi < 28:
return "偏胖"
else:
return "肥胖"
def printResult(p_list):
for p in p_list:
print("姓名:{} 身高:{}m 体重:{}kg 身体状况:{}".format(p["name"], p["height"], p["weight"], judgeHealth(p["weight"] / (p["height"] * p["height"]))))
p_list = [
{"name": "tom", "height": 1.8, "weight": 65},
{"name": "marry", "height": 1.65, "weight": 55},
{"name": "peter", "height": 1.7, "weight": 95},
{"name": "tony", "height": 1.82, "weight": 50},
{"name": "alice", "height": 1.5, "weight": 45}
]
writeFile(100)
printResult(p_list)
normal_count = 0
for p in p_list:
if judgeHealth(p["weight"] / (p["height"] * p["height"])) == "正常":
normal_count += 1
print("身体状况为正常的人数为:{}".format(normal_count))
```
注意:这里的p_list列表中存放了五个人的身高和体重信息,需要根据实际情况填充。
阅读全文