学生与班级

题目需求:

定义一个学生类 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. 查看班级中成绩不及格的学生信息;

结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值