2. 现有如下图所示的学生信息,请根据图中的信息完成以下操作: (1) 根据年级信息为分组键,对学生信息进行分组,并输出大一学生信息。 (2) 分别计算出四个年级中身高最高的同学。 (3) 计算大一学生与大三学生的平均体重。
时间: 2024-05-06 08:19:04 浏览: 11
抱歉,我无法看到你所说的图像。但我可以给你一个示例代码,你可以根据自己的数据进行修改。
```python
students = [
{'name': '张三', 'grade': 1, 'height': 170, 'weight': 60},
{'name': '李四', 'grade': 2, 'height': 175, 'weight': 65},
{'name': '王五', 'grade': 3, 'height': 180, 'weight': 70},
{'name': '赵六', 'grade': 4, 'height': 185, 'weight': 75},
{'name': '钱七', 'grade': 1, 'height': 172, 'weight': 62},
{'name': '孙八', 'grade': 2, 'height': 177, 'weight': 67},
{'name': '周九', 'grade': 3, 'height': 182, 'weight': 72},
{'name': '吴十', 'grade': 4, 'height': 187, 'weight': 77},
]
# (1) 根据年级信息为分组键,对学生信息进行分组,并输出大一学生信息。
grade_1_students = []
for student in students:
if student['grade'] == 1:
grade_1_students.append(student)
print('大一学生信息:', grade_1_students)
# (2) 分别计算出四个年级中身高最高的同学。
max_heights = {}
for student in students:
grade = student['grade']
if grade not in max_heights or student['height'] > max_heights[grade]['height']:
max_heights[grade] = student
for grade, student in max_heights.items():
print(f'{grade}年级身高最高的学生是{student["name"]},身高{student["height"]}cm。')
# (3) 计算大一学生与大三学生的平均体重。
grade_1_weights = []
grade_3_weights = []
for student in students:
if student['grade'] == 1:
grade_1_weights.append(student['weight'])
elif student['grade'] == 3:
grade_3_weights.append(student['weight'])
avg_grade_1_weight = sum(grade_1_weights) / len(grade_1_weights)
avg_grade_3_weight = sum(grade_3_weights) / len(grade_3_weights)
print(f'大一学生的平均体重为{avg_grade_1_weight:.2f}kg,大三学生的平均体重为{avg_grade_3_weight:.2f}kg。')
```
输出结果如下:
```
大一学生信息: [{'name': '张三', 'grade': 1, 'height': 170, 'weight': 60}, {'name': '钱七', 'grade': 1, 'height': 172, 'weight': 62}]
1年级身高最高的学生是钱七,身高172cm。
2年级身高最高的学生是孙八,身高177cm。
3年级身高最高的学生是周九,身高182cm。
4年级身高最高的学生是吴十,身高187cm。
大一学生的平均体重为61.00kg,大三学生的平均体重为71.00kg。
```