关于#Python#的问题,如何解决?

学生包括学号和姓名,年龄,性别
模拟报名,
班级最多三个学生,学生年龄必须大于12岁打印班级信息要求直接打印学生对象就能展示学生信息

class Student():
    def __init__(self,name,age,sex):
        self.name=name
        self.age=age
        self.sex=sex
    
    def __str__(self):
        return f'{self.name} is {self.age} years old, {self.sex}'

stu = []
while len(stu)<3:
    a = input().split()
    if a==[]:break
    if int(a[1])<=12:
        print('age must above 12')
        continue
    stu.append(Student(a[0],a[1],a[2]))

for i in stu:
    print(i)
class Student:
    def __init__(self,sn,name,age,sex):
        self.sn = sn
        self.name = name
        self.age = age
        self.sex = sex

    def __repr__(self):
        return f'{self.sn},{self.name},{self.age},{self.sex}'


class Class:
    def __init__(self):
        self.Students = []

    def print(self):
        for i in self.Students:
            print(i)

    def add(self,student):
        if type(student)==Student:
            if student in self.Students:
                print('此学生,已存在')
            else:
                if student.age>12:
                    if len(self.Students)>2:
                        print('班级已满,加不进学生了')
                    else:
                        self.Students.append(student)
                else:
                    print('此学生年龄太小,不能进班')

以下是测试经过:

>>> a = Student(1,'a',15,1)
>>> b = Student(2,'b',12,1)
>>> c = Student(3,'c',14,0)
>>> d = Student(4,'d',15,0)
>>> C = Class()
>>> C.add(a)
>>> C.add(b)
此学生年龄太小,不能进班
>>> b = Student(2,'b',13,1)
>>> C.add(b)
>>> C.add(b)
此学生,已存在
>>> C.add(c)
>>> C.add(d)
班级已满,加不进学生了
>>> C.print()
1,a,15,1
2,b,13,1
3,c,14,0


↓↓↓如有帮助请点个采纳,谢谢!