学生包括学号和姓名,年龄,性别
模拟报名,
班级最多三个学生,学生年龄必须大于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
↓↓↓如有帮助请点个采纳,谢谢!