请给我“在学生成绩管理中,经常会遇到求平均成绩,统计不及格学生成绩,统计优秀学生人数,以及按成绩对学生进行排名等。现假设有某个班级的若干名学生,每个学生都考试完成了4门课程,试对所有学生的成绩完成以下工作:(1)求每门课程的平均成绩。(2)输出所有有不及格课程的学生的学号、姓名、全部课程的成绩、平均成绩。(3)输出所有平均分在90分以上(含90分)的学生学号、姓名。(4)对4门课程中的任何一门,可随意抽取1门按学生成绩采用任意一种排序方法进行排序”的代码
时间: 2023-03-14 16:15:35 浏览: 155
首先,我们需要创建一个学生的类,并且定义一个计算学生平均分的函数:class Student:
def __init__(self,name,score):
self.name=name
self.score=score def avgscore(self):
return sum(self.score) / len(self.score)#定义一个计算每门课程平均分的函数
def avg_course(course_list):
avg_list=[]
for course in course_list:
avg_list.append(sum(course) / len(course))
return avg_list#定义一个输出不及格学生的函数
def not_pass(stu_list):
not_pass_list=[]
for stu in stu_list:
for score in stu.score:
if score<60:
not_pass_list.append([stu.name,stu.score,stu.avgscore()])
return not_pass_list#定义一个输出优秀学生人数的函数
def excellent_student(stu_list):
count=0
for stu in stu_list:
if stu.avgscore() >= 90:
count+=1
return count#定义一个按成绩对学生进行排序的函数
def sort_student(stu_list,course_num):
stu_list.sort(key=lambda x:x.score[course_num],reverse=True)
return stu_list
阅读全文