已知存储学生成绩信息的字典结构如下: 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'])
students = []
n = int(input("请输入一共有多少学生:"))
for i in range(n):
name = input("请输入姓名:")
english = float(input("请输入英语成绩:"))
python = float(input("请输入python成绩:"))
math = float(input("请输入数学成绩:"))
student = {
"name":name,
"english":english,
"python":python,
"math":math
}
students.append(student)
for student in students:
student['avg'] = (student['english']+student['python']+student['math'])/3
for item in students:
print(item)
students = sorted(students,key = lambda x:(x['avg']),reverse=True)
for item in students:
print(item)
如有帮助请采纳~
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632