0
点赞
收藏
分享

微信扫一扫

python 简单练习 面向对象

杰森wang 2022-03-14 阅读 85
python
students_list = []

class StudentManager(object):

    def __init__(self):
        # 有一些全局化的变量 可以在这里声明
        # 有些独立的功能可以单独写一个函数
        pass

    def main(self):
        # 开启系统
        while True:
            self.show_menu()
            opt = input("请告诉我你的选择是:")
            if opt == "1":
                print("======= 执行添加学生信息 =======")
                self.insert_student()
            elif opt == "2":
                print("======= 执行删除学生信息 =======")
                self.remove_student()
            elif opt == "3":
                print("======= 执行修改学生信息 =======")
                self.modify_student()
            elif opt == "4":
                print("======= 执行查询单个学生信息 =======")
                self.show_single_info()
            elif opt == "5":
                print("执行查询所有学生信息")
                self.show_all_info()
            elif opt == "6":
                print("============ 执行退出系统,学生列表清零 =============")
                break
            else:
                print("===== 您输入的数字有误,请重新输入 =====")
                continue

    def show_menu(self):
        print("1.添加学生信息")
        print("2.删除学生信息")
        print("3.修改学生信息")
        print("4.查询单个学生信息")
        print("5.查询所有学生信息")
        print("6.退出系统")

    def insert_student(self):
        name = input('请输入要添加学生的姓名:')
        age = input('请输入要添加学生的年龄:')
        gender = input('请输入要添加学生的性别:')
        # 2. 生成一个学生字典
        #
        student_dict = {'name': name, 'age': age, 'gender': gender}
        # 3.将学生信息添加到列表中
        students_list.append(student_dict)
        print('=================添加学生信息成功==========================')

    def remove_student(self):
        # 1. 输入需要删除的学生姓名
        name = input('请输入需要删除的学生姓名:')
        for stu in students_list:
            # 学生信息存在的情况
            if stu['name'] == name:
                # 删除学生信息
                students_list.remove(stu)
                print('===================删除学生信息成功============')
                break
            else:
                print('=========学生信息不存在===============')

    def modify_student(self):
        # 1. 输入需要修改的学生姓名
        name = input('请输入需要修改的学生姓名:')
        for stu in students_list:
            # 学生信息存在的情况
            if stu['name'] == name:
                print('请输入需要修改的学生信息:1.姓名 2.年龄 3.性别')
                students_list.remove(stu)
                name = input('请输入要修改学生的姓名:')
                age = input('请输入要修改学生的年龄:')
                gender = input('请输入要修改学生的性别:')
                student_dict = {'name': name, 'age': age, 'gender': gender}
                students_list.append(student_dict)
                print('===================修改学生信息成功============')
                break
            else:
                print('=========学生信息不存在============')

    def show_single_info(self):
        name = input('请输入需要查询的学生姓名:')
        if len(students_list) > 0:
            for stu in students_list:
                if stu['name'] == name:
                    print(stu)
                print('============查询单个学生信息成功==================')
        else:
            print('======目前没有学生信息=====')

    def show_all_info(self):
        # 检查学生列表中是否为空
        if len(students_list) > 0:
            for stu in students_list:
                print(stu)
                print('============查询所有学生信息成功==================')
        else:
            print('======目前没有学生信息=====')


if __name__ == '__main__':
    # 实例化一个学生管理系统类的对象
    sm = StudentManager()
    sm.main()


举报

相关推荐

0 条评论