Python学习第13天_练习(图书馆的创建)

需求分布

  • 添加学员:根据用户的输入,往系统中添加学员信息

  • 学员查询:根据学号,查找对应的学员信息

  • 学员删除:根据学号,删除对应的学员信息

以上就是学员管理系统的基本需求

2、实现需求

  • 通过面向对象编程,整个管理系统封装成一个类,通过不同的方法来实现功能需求 注意:需要强调的是,函数式编程和面向对象编程的方式都能够实现我们的需求,并不是只能使用面向对象编程的方式
  • 通过原始的需求,我们知道1个学员需要有学号、姓名、年龄。而这3项自然就是学员类的属性啦

首先我们在学生类里面,初始化学员id、name、age,再定义一个方法,student_info,用来返回学员的信息

class Student(object):
    """创建学生类"""

    def __init__(self, uid, name, age):
        """初始化属性对象"""
        self.uid = uid
        self.name = name
        self.age = age

    def student_info(self):
        return "学号:%s,姓名:%s,年龄:%s" % (self.uid, self.name, self.age)

再用条件判断语句来分析对应每个步骤该做什么

class ControlPanel(object):

    def __init__(self):
        # 定义学员实例存储字典
        self.students = {}

    def show_menu(self):
        """展示详情信息页面"""
        while True:
            print("*" * 30)
            print("1、添加学生信息")
            print("2、删除学生信息")
            print("3、查找学生信息")
            print("0、退出系统")
            print("*" * 30)
            # 获取相应操作的信息
            ipt = input("请输入执行的信息:")
            if ipt == '1':
                # 添加学生信息
                self.add_student()
            elif ipt == '2':
                # 删除学生信息
                self.remove_student()
            elif ipt == '3':
                # 查找学生信息
                self.find_student()
            elif ipt == '0':
                break
            else:
                print("输入有误请重新输入:")
    # 增加学员
    def add_student(self):
        student_id = input('请输入学员的学号:')
        student_name = input('请输入学员的姓名:')
        student_age = input('请输入学员的年龄:')
        student = Student(student_id,student_name,student_age)
        self.students[student_id] = student
        print('学员信息添加成功')

    # 查找学员
    def find_student(self):
        """查找指定学生信息的方法"""
        # 获取需要查找信息的学号
        ipt_uid = input("请输入查找学生的学号:")
        # 获取返回对象的引用
        student = self.students.get(ipt_uid)
        print(student.student_info())

    # 删除学员
    def remove_student(self):
        """删除指定学生信息的方法"""
        # 获取需要删除信息的学号
        ipt_uid = input("请输入需要删除信息的学号:")
        # 调用pop方法删除字典数据
        result = self.students.pop(ipt_uid)
        print(result)

c = ControlPanel()
c.show_menu()
posted @ 2020-06-17 14:07  ℃憨豆先生  阅读(142)  评论(0编辑  收藏  举报