需求分布
-
添加学员:根据用户的输入,往系统中添加学员信息
-
学员查询:根据学号,查找对应的学员信息
-
学员删除:根据学号,删除对应的学员信息
以上就是学员管理系统的基本需求
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()