题目需求:
定义一个学生类 Student:属性有学号、姓名、年龄、性别、成绩。 定义一个班级类Grade:属性有班级名称、班级中的学生类中的学生信息(使用列表存储学生) 方法: 1. 查看该班级中的所有学生信息; 2. 查看指定学号的学生信息; 3. 查看班级中成绩不及格的学生信息; 注:在不继承的情况下,让两个类之间有关联
代码:
class Student: def __init__(self,id,name,age,sex,grade): self.id = id self.name = name self.age = age self.sex = sex self.grade = grade self.info = {id: [name, age, sex, grade]}#代表某个学生的所有信息 class Classe: def __init__(self,*args): # args代表Student的多个对象,也就是多个学生 #args接受的多个实参是保存在元组里的 self.banji = '高级编程' self.student = [] for i in args: self.student.append(i.info) def get_all(self): print(f'{self.banji}学生信息如下:') for a in self.student: print(f'\t{a}') def get_id(self,id): for i in self.student: if id in i.keys(): print('学号',id,'的信息为:',i) def get_grade(self): bhg=[] for i in self.student: for a in i.keys(): grade = i[a][3] if grade < 60 : # print('不合格的学生有:',i[a][0]) bhg.append(i[a][0]) # print(f'{i[a][0]}成绩不合格') print('不合格的学生有:', bhg) a = Student(101,'靓仔',18,'男',89) b = Student(102,'靓女',18,'女',99) c = Student(103,'小禾',18,'女',59) d = Student(104,'小明',18,'男',43) res1 = Classe(a,b,c,d) # print(res1.student) res1.get_all()#1. 查看该班级中的所有学生信息; res1.get_id(101)#2. 查看指定学号的学生信息; res1.get_id(102) res1.get_grade()#3. 查看班级中成绩不及格的学生信息; 结果: