题目四:已知存储学生成绩信息的字典结构如下:
stu = {"name":"杨一","english":85,"python":90,"math":92}。
编写要求:
(1)请使用上述结构输入n个学生的name,及 english,python,math三门课程的成绩并存放于列表中。
(2)n为由用户输入大于0的整数,name为字符串类型,english、python、math位数值型类型
(3)计算每位同学的平均成绩,同时在字典列表中添加平均成绩(保留小数1位)的信息,输出所有学生的成绩信息
(4)按平均分从高到低输出学生姓名和平均分
n = int(input("输入学生数量:"))
lst = []
for i in range(n):
name = input(f"第{i+1}个学生的name:")
english = float(input(f"第{i+1}个学生的english课程的成绩:"))
python = float(input(f"第{i+1}个学生的python课程的成绩:"))
math = float(input(f"第{i+1}个学生的math课程的成绩:"))
stu = {"name":name,"english":english,"python":python,"math":math}
stu["avg"] = round((english+python+math)/3,1)
lst.append(stu)
print(*lst,sep='\n')
lst.sort(key=lambda x: x['avg'], reverse=True)
for x in lst:
print('姓名:',x['name'],'平均分:',x['avg'])