Esempio n. 1
0
def main():
    mainAction = ActionItem(
        '',
        '', [addAction, editAction, deleteAction, queryAction, sortAction],
        footerTip=''.center(34, '-'),
        headerTip='学生管理系统'.center(30, '-'),
        prompt='功能菜单',
        isMain=True)
    ActionItem.mainAction = mainAction
    mainAction.start()
Esempio n. 2
0
 def createStudent(cls, isAdd):
     no = cls.getInputStuno(isAdd)
     attrs = {}
     for attr in [{'key': 'name', 'name': '姓名'}, {'key': 'age', 'name': '年龄'}, {'key': 'score', 'name': '分数'}]:
         attrs[attr['key']] = ActionItem('', '', [], validate=False,
                                         prompt=f'学生{attr["name"]}').start()
     return Student(no, **attrs)
Esempio n. 3
0
 def getInputStuno(cls, isAdd=True, isAllowNull=False):
     if not isAdd and len(cls.allStus) == 0:
         print('还没有录入学生信息')
         ActionItem.mainAction.start()
     else:
         return ActionItem('', '', [], validate=lambda value, *args: cls.validateNo(value, isAdd, isAllowNull),
                           prompt=f'学生编号{"(空表示所有)" if isAllowNull else ""}').start()
Esempio n. 4
0
from common.ActionItem import ActionItem
from module.Student import Student
from data.Student import updateStudent


# 添加学生
def update(isAdd=True):
    newStu = Student.createStudent(isAdd)
    operator = '添加' if isAdd else '修改'
    updateStudent(newStu, isAdd)
    print(f'学生信息[{newStu.toFileString()}]已经{operator}成功')


# 新增信息
addAction = ActionItem('1', '录入学生信息', update)

# 编辑信息
editAction = ActionItem('2', '修改学生信息', lambda: update(False))
Esempio n. 5
0
from common.ActionItem import ActionItem
from module.Student import Student
from data.Student import delStudent


# 添加学生
def delete():
    delStudent(Student.getInputStuno(False))
    print(f'学生[{stuno}]已经删除成功')


deleteAction = ActionItem('3', '删除学生信息', delete)
Esempio n. 6
0
from common.ActionItem import ActionItem
from module.Student import Student
from data.Student import sortStudent, getAllStudent


# 添加学生
def sortFunc(sortKey):
    sortStudent(sortKey)
    print('排序完成结果为:')
    print('编号\t\t姓名\t\t年龄\t\t分数')
    for stu in getAllStudent():
        print(stu)


childrenAction = [
    ActionItem(str(index + 1),
               item['name'],
               lambda item=item: sortFunc(item['key']))
    for index, item in enumerate(Student.getSortableAttrs())
]

sortAction = ActionItem('5', '排序学生', childrenAction, prompt='排序类型')
Esempio n. 7
0
from common.ActionItem import ActionItem
from module.Student import Student
from data.Student import queryStudent


# 添加学生
def query():
    stus = queryStudent(Student.getInputStuno(False, True))
    print('查询结果为:')
    print('编号\t\t姓名\t\t年龄\t\t分数')
    for stu in stus:
        print(stu)


queryAction = ActionItem('4', '查找学生信息', query)