用ptyhon写1.以年级信息为分组键,对学生信息进行分组,并输出大一学生信息。 2.分别计算出四个年级中身高最高的同学。 3. 计算大一学生与大三学生的平均体重。
时间: 2024-05-12 17:12:56 浏览: 21
假设我们已经有一个包含学生信息的列表`students`,每个学生信息包含`name`、`grade`、`height`和`weight`四个属性。现在我们可以按照如下方式实现上述三个需求:
1. 以年级信息为分组键,对学生信息进行分组,并输出大一学生信息。
```python
# 以年级信息为分组键,对学生信息进行分组
groups = {}
for student in students:
if student['grade'] not in groups:
groups[student['grade']] = []
groups[student['grade']].append(student)
# 输出大一学生信息
for student in groups['大一']:
print(student)
```
2. 分别计算出四个年级中身高最高的同学。
```python
# 分别计算出四个年级中身高最高的同学
max_heights = {}
for student in students:
if student['grade'] not in max_heights:
max_heights[student['grade']] = student
elif student['height'] > max_heights[student['grade']]['height']:
max_heights[student['grade']] = student
for grade, student in max_heights.items():
print(f"{grade}年级身高最高的同学是:{student['name']}")
```
3. 计算大一学生与大三学生的平均体重。
```python
# 计算大一学生与大三学生的平均体重
sum_weight_y1 = sum_weight_y3 = count_y1 = count_y3 = 0
for student in students:
if student['grade'] == '大一':
sum_weight_y1 += student['weight']
count_y1 += 1
elif student['grade'] == '大三':
sum_weight_y3 += student['weight']
count_y3 += 1
avg_weight_y1 = sum_weight_y1 / count_y1
avg_weight_y3 = sum_weight_y3 / count_y3
print(f"大一学生平均体重为:{avg_weight_y1}")
print(f"大三学生平均体重为:{avg_weight_y3}")
```