赞
踩
设计思路如下:
分为三个部分, Student类负责定义创建对象和打印, ManagerSystem负责定义一个系统类里面有实现功能的方法, Main作为程序入口, 调用相关类使用。
class Student(object):
def __init__(self, name, age, stu_id):
self.name = name
self.age = age
self.stu_id = stu_id
def __str__(self):
return f'学生的姓名是{self.name}, 年龄是{self.age}岁, 学号是{self.stu_id}'
from Student import Student class ManagerSystem(object): students_list = [] @staticmethod def print_info(): """打印功能列表""" print("""==学生管理系统====== ==1.添加学员======= ==2.删除学员======= ==3.修改学员======= ==4.查询学员======= ==5.展示所有学员==== ==6.退出系统=======""") @classmethod def choose_option(cls, option): if option == '1': cls.add_student() elif option == '2': cls.delete_student() elif option == '3': cls.modify_student() elif option == '4': cls.search_student() elif option == '5': cls.show_students() elif option == '6': cls.exit_program() @classmethod def add_student(cls): """添加学员""" # 获取要添加学员的学号 stu_id = input('请输入要添加学员的学号:') # 循环遍历.判断该学员是否存在 for student_info in cls.students_list: # 对比学号 if student_info.stu_id == stu_id: # 如果该学员存在,则提示该学员已存在 print('该学员已经存在,请核对后再添加') break else: # 如果该学员不存在,则继续添加姓名和年龄存储学员信息 name = input('请输入要添加学员的姓名:') age = input('请输入要添加学员的年龄:') cls.students_list.append(Student(name, age, stu_id)) @classmethod def delete_student(cls): """删除学员""" # 获取要删除学员的学号 stu_id = input('请输入您要删除学员的学号:') # 循环遍历学员列表,查询该学员是否存在 for student_info in cls.students_list: if student_info.stu_id == stu_id: # 如果该学员存在,则删除该学员信息 cls.students_list.remove(student_info) break else: # 如果该学员不存在,则提示重新确认后再删除 print('该学员不存在,请核对后再删除') @classmethod def modify_student(cls): """修改学员""" # 获取要修改学员的学号 stu_id = input('请输入您要修改学员的学号:') # 循环遍历学员列表,查询该学员是否存在 for student_info in cls.students_list: if student_info.stu_id == stu_id: # 如果该学员存在,则修改该学员对象的属性 student_info.name = input('请输入您要修改为的姓名:') student_info.age = input('请输入您要修改为的年龄:') break else: # 如果该学员不存在,则提示重新确认后再删除 print('该学员不存在,请核对后再修改') @classmethod def search_student(cls): """查询学员""" # 获取要查询学员的学号 stu_id = input('请输入您要查询学员的学号:') # 循环遍历学员列表,查询该学员是否存在 for student_info in cls.students_list: if student_info.stu_id == stu_id: # 如果该学员存在,则打印该学员的基本信息 print(student_info) break else: # 如果该学员不存在,则提示重新确认后再删除 print('该学员不存在,请核对后再查询') @classmethod def show_students(cls): """展示所有学员""" for student_info in cls.students_list: print(student_info) @staticmethod def exit_program(): """退出程序""" exit()
from ManagerSystem import ManagerSystem class Main(object): @staticmethod def run(): # 将所有功能加入无限循环中 while True: # 展示功能列表 ManagerSystem.print_info() # 让用户键入要完成的功能序号 option = input('请输入您要完成的功能:') # 根据键入的功能序号完成对应功能 ManagerSystem.choose_option(option) Main.run()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。