存储学生张三成绩的字典结构如下: stu={“name”:"张三","englisth":80,"python":90,"math":100} (1)请使用上述结构输入5个学生的name及3门课的成绩并存储到列表scores中。 (2)计算每位同学的平均成绩,同时在字典中添加关键字“avg”用来表示平均成绩。 (3)按照每个学生的平均成绩由高到低排序输出5个学生的相关信息。 (4)遍历列表scores,将每门课不及格的学生名单进行打印。
时间: 2023-06-06 20:05:40 浏览: 707
好的,我会根据你的要求进行回答。
(1) 输入5个学生信息,代码如下:
```
scores = []
for i in range(5):
name = input("请输入第{}个学生的姓名:".format(i+1))
english_score = int(input("请输入{}的英语成绩:".format(name)))
python_score = int(input("请输入{}的Python成绩:".format(name)))
math_score = int(input("请输入{}的数学成绩:".format(name)))
stu = {"name": name, "english": english_score, "python": python_score, "math": math_score}
scores.append(stu)
```
(2) 计算每位同学的平均成绩并将平均成绩添加到字典中,代码如下:
```
for stu in scores:
avg_score = (stu["english"] + stu["python"] + stu["math"]) / 3
stu["avg"] = avg_score
```
(3) 按照每个学生的平均成绩由高到低排序并输出5个学生的相关信息,代码如下:
```
scores.sort(key=lambda x: x["avg"], reverse=True) # 按照平均成绩由高到低排序
for i in range(5):
stu = scores[i]
print("第{}名学生:".format(i+1))
print("姓名:", stu["name"])
print("英语成绩:", stu["english"])
print("Python成绩:", stu["python"])
print("数学成绩:", stu["math"])
print("平均成绩:", stu["avg"])
print("\n")
```
(4) 遍历列表scores,找到每门课不及格的学生名单并打印,代码如下:
```
for stu in scores:
if stu["english"] < 60:
print("{}的英语成绩不及格".format(stu["name"]))
if stu["python"] < 60:
print("{}的Python成绩不及格".format(stu["name"]))
if stu["math"] < 60:
print("{}的数学成绩不及格".format(stu["name"]))
```
希望我的回答能够帮到你,如有其他问题,请随时询问。
阅读全文