班级的各学科平均分

题目如下

在这里插入图片描述
表结构如下

表一:
在这里插入图片描述
表二:
在这里插入图片描述
查询语句sql:
SELECT a.class,e.course,AVG(e.score) FROM account a,exam e WHERE a.id=e.aid GROUP BY a.class,e.course

好的,根据您的要求,我为您设计一个Person类的子类——Student类,满足您的需求。 ```python class Person: def __init__(self, name, age, gender): self.name = name self.age = age self.gender = gender class Student(Person): def __init__(self, name, age, gender, student_id, class_name): super().__init__(name, age, gender) self.student_id = student_id self.class_name = class_name self.scores = {} def input_score(self, subject, score): self.scores[subject] = score def output_score(self): for subject, score in self.scores.items(): print("{}的{}成绩为{}".format(self.name, subject, score)) def average_score(self): return sum(self.scores.values()) / len(self.scores) def max_min_score(self): max_score = max(self.scores.values()) min_score = min(self.scores.values()) max_subject = [subject for subject, score in self.scores.items() if score == max_score] min_subject = [subject for subject, score in self.scores.items() if score == min_score] print("{}的最高分为{},科目为{}".format(self.name, max_score, max_subject)) print("{}的最低分为{},科目为{}".format(self.name, min_score, min_subject)) def fail_subject(self): fail_subjects = [subject for subject, score in self.scores.items() if score < 60] if fail_subjects: print("{}的不及格科目及成绩为{}".format(self.name, dict(zip(fail_subjects, [self.scores[subject] for subject in fail_subjects])))) else: print("{}没有不及格科目".format(self.name)) @staticmethod def average_score_of_class(students): scores = [] for student in students: scores.extend(student.scores.values()) return sum(scores) / len(scores) @staticmethod def fail_number_of_class(students): fail_number = 0 for student in students: if any(score < 60 for score in student.scores.values()): fail_number += 1 return fail_number def sort_by_score(self): sorted_scores = sorted(self.scores.items(), key=lambda x: x[1], reverse=True) print("{}的成绩按照从高到低排序为{}".format(self.name, sorted_scores)) ``` 在这个类中,我们继承了Person类,然后添加了学号、班级和成绩的属性,以及输入、输出、平均分、最高分/最低分、不及格科目和成绩统计、班级平均分班级不及格人数和成绩排序等方法。这个类可以很好地管理学生的个人信息和成绩情况,并且可以用于班级管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值