Python等级考试一道关于血压的综合题解析
Python等级考试有道关于血压的综合题,某次模拟考试遇到过,有一定难度,当时没做出来,现在得空,就总结分析一下。
题目如下:
老王的女儿给老王测血压,记录了一段时间的血压测量值,在文件 xueyajilu.txt 中,每行是一条记录,包含:测量时间,左臂高压,左臂低压,右臂高压,右臂低压,心率;每个字段用英文逗号隔开,示例如下:
2018/7/2 6:00,140,82,136,90,69
2018/7/2 15:28,154,88,155,85,63
2018/7/3 6:30,131,82,139,74,61
2018/7/3 16:49,145,84,139,85,73
2018/7/4 5:03,152,87,131,85,63
(1)使用字典和列表类型进行数据分析,获取老王的
左臂和右臂的血压平均值
左臂和右臂的高压最高值、低压最高值
左臂和右臂的高/低压差平均值
心率的平均值
给出左臂和右臂血压情况的对比表,输出到屏幕上,请注意每行三列对齐。输出的整数向下取整。示例如下:
(2)上述显示的五个项目,如果左臂有 50%的测量值高于右臂的测量值,则输出“结论:左臂血压偏高”;如果等于 50% 的测量值高于右臂的测量值,则输出“结论:左臂血压与右臂血压相当”;如果小于 50% 的测量值高于右臂的测量值,则输出“结论:右臂血压偏高”。示例如下:
结论:左臂血压偏高, 心率的平均值为66
注意:本题目支持在线评测,请利用本地IDLE完善代码,编程调试至正确代码,并将编好的程序提交系统,得到评测结果。
输入输出示例
为降低难度,题目给出了程序框架如下:
#在…处填写多行代码
#在_____出填写一行代码
#可以修改其他代码
fi = open("xueyajilu.txt",'r')
jl = [[],[],[],[],[],[]] # 1:zb_h, zb_l,yb_h,yb_l
zyc = []
yyc = []
xl = []
for l in fi:
__________________
...
zyc.append(eval(lls[1])- eval(lls[2]))
yyc.append(eval(lls[3])- eval(lls[4]))
xl.append(eval(lls[5]))
fi.close()
cnt = _________
res = []
res.append(list(("高压最大值", ___________)))
res.append(list(("低压最大值", ___________)))
res.append(list(("压差平均值", ___________)))
res.append(list(("高压平均值", ___________)))
res.append(list(("低压平均值", ___________)))
res.append(list(("心率平均值", ____________)