存储学生张三成绩的字典结构如下: stu={“name”:"张三","englisth":80,"python":90,"math":100} (1)请使用上述结构输入5个学生的name及3门课的成绩并存储到列表scores中。 (2)计算每位同学的平均成绩,同时在字典中添加关键字“avg”用来表示平均成绩。 (3)按照每个学生的平均成绩由高到低排序输出5个学生的相关信息。 (4)遍历列表scores,将每门课不及格的学生名单进行打印。
时间: 2023-06-05 22:06:48 浏览: 184
编制一个程序,要求输入5个学生的学号、2门课的成绩,然后输出每个学生的学号、2门课成绩、平均成绩。
3星 · 编辑精心推荐
(1)
scores = []
stu1 = {"name": "张三", "english": 80, "python": 90, "math": 100}
scores.append(stu1)
stu2 = {"name": "李四", "english": 75, "python": 85, "math": 95}
scores.append(stu2)
stu3 = {"name": "王五", "english": 90, "python": 85, "math": 80}
scores.append(stu3)
stu4 = {"name": "赵六", "english": 70, "python": 60, "math": 75}
scores.append(stu4)
stu5 = {"name": "钱七", "english": 85, "python": 95, "math": 90}
scores.append(stu5)
(2)
for stu in scores:
avg = (stu["english"] + stu["python"] + stu["math"]) / 3
stu["avg"] = avg
(3)
scores_sorted = sorted(scores, key=lambda x: x['avg'], reverse=True)
for i in range(len(scores_sorted)):
print("排名第{0}的学生是:{1},平均分为:{2}".format(i + 1, scores_sorted[i]["name"], scores_sorted[i]["avg"]))
(4)
for stu in scores:
if stu["english"] < 60:
print("{0}英语成绩不及格".format(stu["name"]))
if stu["python"] < 60:
print("{0}python成绩不及格".format(stu["name"]))
if stu["math"] < 60:
print("{0}数学成绩不及格".format(stu["name"]))
阅读全文