(2)计算每位同学的平均成绩,同时在字典中添加关键字“avg”用来表示平均成绩。
时间: 2024-05-12 14:16:29 浏览: 8
以下是Python代码实现:
```
# 定义字典
scores = {'Alice': [85, 72, 90], 'Bob': [76, 65, 89], 'Charlie': [90, 82, 78], 'David': [88, 92, 85]}
# 计算每位同学的平均成绩并添加关键字
for name in scores:
avg_score = sum(scores[name]) / len(scores[name])
scores[name].append(avg_score)
scores[name].append('avg')
print(scores)
```
输出结果为:
```
{'Alice': [85, 72, 90, 82.33333333333333, 'avg'], 'Bob': [76, 65, 89, 76.66666666666667, 'avg'], 'Charlie': [90, 82, 78, 83.33333333333333, 'avg'], 'David': [88, 92, 85, 88.33333333333333, 'avg']}
```
可以看到,每个同学的平均成绩已经被计算出来,并且在字典中添加了关键字“avg”。
相关问题
已知张三同学的English、Python、Math三门课程的成绩分别为80、90、100,编写程序将姓名及成绩保存到字典stu中,并计算其平均成绩,同时在字典stu中添加关键字"avg"用来表示平均成绩,最后通过字典遍历分行输出姓名及课程成绩、平均成绩。
以下是一个 Python 程序示例,可以实现上述要求:
```python
stu = {
"name": "张三",
"English": 80,
"Python": 90,
"Math": 100
}
# 计算平均成绩
avg = sum(stu.values()[1:]) / 3
stu["avg"] = avg
# 遍历字典并输出
for key, value in stu.items():
if key == "name":
print(key + ": " + value)
else:
print(key + ": " + str(value))
print("平均成绩:" + str(avg))
```
在这个程序中,我们首先创建了一个字典 `stu`,其中包含了学生姓名和三门课程的成绩。然后,我们使用 `sum()` 函数和字典的 `values()` 方法计算平均成绩,并将其添加到字典中作为新的关键字 `"avg"`。
接下来,我们使用 `items()` 方法遍历字典,并根据关键字输出相应的信息。最后,我们再次输出平均成绩。注意,在输出学生姓名时,我们使用了一个条件语句来判断当前的关键字是否为 `"name"`,以便输出正确的信息。
stu={"name":"张三","english":80,"python":90,"math":100} 1)请使用上述结构输入5个学生的name及english、python和math三门课的成绩并存储到列表scores中; 2)计算每个同学的平均成绩,同时在字典中添加关键字"avg"用来表示平均成绩; 3)按照每个学生的平均成绩由高到低排序输出5个学生的相关信息。
1)将5个学生的信息存储到列表scores中:
```
scores = []
stu1 = {"name":"张三","english":80,"python":90,"math":100}
scores.append(stu1)
stu2 = {"name":"李四","english":85,"python":95,"math":90}
scores.append(stu2)
stu3 = {"name":"王五","english":90,"python":80,"math":95}
scores.append(stu3)
stu4 = {"name":"赵六","english":70,"python":75,"math":80}
scores.append(stu4)
stu5 = {"name":"陈七","english":95,"python":85,"math":90}
scores.append(stu5)
```
2)计算每个同学的平均成绩,并向字典中添加"avg"关键字:
```
for stu in scores:
avg_score = (stu["english"] + stu["python"] + stu["math"]) / 3
stu["avg"] = avg_score
```
3)按照每个学生的平均成绩由高到低排序输出5个学生的相关信息:
```
scores_sorted = sorted(scores, key=lambda x: x["avg"], reverse=True)
for stu in scores_sorted:
print("姓名:{},英语成绩:{},Python成绩:{},数学成绩:{},平均成绩:{}".format(stu["name"], stu["english"], stu["python"], stu["math"], stu["avg"]))
```