定义学生类Student,其中包括学号、姓名、年龄、性别属性和基本信息输出方法print()。利用列表与字典等数据结构实现对学生信息的存储及增、删、改、查等操作。

定义学生类Student,其中包括学号、姓名、年龄、性别属性和基本信息输出方法print()。利用列表与字典等数据结构实现对学生信息的存储及增、删、改、查等操作。定义本科生类BStudent和研究生类YStudent类分别继承Student类,自行定义各自类的独有属性,并重写父类中的数据处理方

只实现了简单功能,要求应该是都有,凑合能用,哪不合适再说

# 定义学生类
class Student():
    # 基本属性信息
    def __init__(self, sno, sname, age, sex):
        self.sno = sno
        self.sname = sname
        self.age = age
        self.sex = sex

    # 基本信息输出的方法
    def printdata(self):
        print(f"我是一名学生,名字是{self.sname}{self.sex}{self.age}岁,学号-{self.sno}")

class BStudent(Student):
    # 本科生,添加私有属性高考分数score
    def __init__(self, sno, sname, age, sex, score):
        super().__init__(sno, sname, age, sex)
        self.score = score
    # 重写基本信息输出方法
    def printdata(self):
        print(f"我是一名本科生,高考成绩{self.score},名字是{self.sname}{self.sex}{self.age}岁,学号-{self.sno}")

class YStudent(Student):
    # 研究生,添加私有属性论文发表数目times
    def __init__(self, sno, sname, age, sex, times):
        super().__init__(sno, sname, age, sex)
        self.times = times
    # 重写基本信息输出方法
    def printdata(self):
        print(f"我是一名研究生,已发表{self.times}篇论文,名字是{self.sname}{self.sex}{self.age}岁,学号-{self.sno}")

# 主函数
if __name__ == "__main__":
    # 志愿者记录结果
    persons = []
    while(True):
        print("--"*20)
        x = input("\t1:添加志愿者\t2:删除志愿者\n\t3.查看志愿者信息\t4.退出筛选\n")
        if x=="1":
            style = input("选择添加的志愿者类型:1:普通学生\t2:本科生\t3.研究生\n")
            if style=="1":
                date = input("请输入学生 学号 姓名 年龄 性别(空格隔开):").split(" ")
                person = Student(*date)
            elif style=="2":
                date = input("请输入本科生 学号 姓名 年龄 性别 高考分数(空格隔开):").split(" ")
                person = BStudent(*date)
            elif style == "3":
                date = input("请输入研究生 学号 姓名 年龄 性别 论文数目(空格隔开):").split(" ")
                person = YStudent(*date)
            persons.append(person)
        elif x=="2":
            name = input("删除的学生名称:")
            persons = [person for person in persons if person.sname!=name]
        elif x=="3":
            # 当前志愿者
            print("当前入选的志愿者姓名")
            for person in persons:
                print(person.sname, end="  ")
            print()
            name = input("请输入需要自我介绍的学生志愿者:")
            for person in persons:
                if person.sname==name:
                    person.printdata()
        elif x=="4":
            print("筛选结束!")
            break

img