美文网首页
Day10--作业:优化学生管理系统

Day10--作业:优化学生管理系统

作者: zxhlcl | 来源:发表于2018-10-13 17:46 被阅读0次

    思路:
    1、写一个模块,用于打印各类界面:
    模块名称:face
    2、写一个模块,用于学生操作:
    模块名称:operating_student
    3、写一个模块,用于读写学生数据到txt文档(还未优化)
    模块名称:read_write_data

    主程序中将分别引用三大模块,实现需求

    模块一

    '''face.py--用于打印各类界面 '''
    #主界面
    def mian_face():
        listitems = ['1', '2', '3', 'q']
        print('==================千峰学生管理系统===============')
        print('1、添加学生\n', '2、查找学生\n', '3、删除学生\n', 'q、退出系统', sep="")
        print("==================================================")
        items = input('>>>')
        while True:
            if items not in listitems:
                print("输入的编号有误,请重新输入")
                items = input('>>>')
            else:
                break
        return items
    #添加学生界面
    def face_one():
        col=['1','2']
        print("1、继续添加 \n", "2、返回上一层")
        item = input('>>>')
        while True:
            if item not in col:
                print('输入的编号有误,请重新输入')
                item = input(">>>")
            else:
                break
        return item
    #查看学生界面
    def face_two():
        col = ['1', '2', '3']
        print("1、查看所有学生信息 \n", "2、根据名字查看学生信息\n", "3、返回上一层", sep='')
        item = input(">>>")
        while True:
            if item not in col:
                print('输入的编号有误,请重新输入')
                item = input(">>>")
            else:
                break
        return item
    #删除学生界面
    def face_Three():
        col = ["1", "2"]
    
        print("1、继续删除 \n", "2、返回上一层")
        item = input('>>>')
        while True:
            if item not in col:
                print('输入的编号有误,请重新输入')
                item = input(">>>")
            else:
                break
        return item
    
    

    模块二

    import random
    students=[]
    #产生学号
    def genID():
        """随机产生一个学号"""
        number=random.randint(1,10000)
        ID="ID"+"2018"+str(number)
        return ID
    
    # 添加学生
    def add_student():
        print("已自动生成该学生学号")
        ID=genID()
        name = input('请输入学生的姓名:')
        age = input('请输入学生的年龄:')
        tel = input("请输入学生的电话号码:")
        English_score=input("请输入英语成绩:")
        Math_score=input("请输入英语成绩:")
        Chinese_score=input("请输入语文成绩:")
        students.append({'学号': ID,'姓名': name,  '成绩': {"语文":Chinese_score,"数学":Math_score,"英语":English_score}, '年龄': age, '电话': tel})
    
    #查看所有学生:
    def find_all(students:list):
        print("=====================查询到的学生信息如下所示====================")
        for i in range(len(students)):
            for keys in students[i]:
                print(i, end="  ")
                print(keys + ':' + str(students[i][keys]), end=",")
            print()
        print("=====================请继续选择您需要的操作====================")
    #根据姓名查看学生信息
    def find_name(students:list):
        name = input("请输入学生姓名>>>")
        count = 0  # 记录学生信息个数,后面需判断有无学生信息
        print("======================查询到的学生信息如下所示==================")
        for i in range(len(students)):
            if name == students[i]['姓名']:
                count += 1
                for keys in students[i]:
                    print("序号:{}".format(i), end="  ")
                    print(keys + ':' + str(students[i][keys]), end=",")
                print()
        if count == 0:
            print("没有该学生信息")
        print("======================请继续选择您需要的操作==================")
    
    #删除学生
    def del_stu():
        name = input("请输入要删除的学生姓名:")
        indexs = []  # 用于记录学生编号,后面判断输入的学生编号是否有误
        count = 0  # 用于记录查找的学生信息个数,判断有无学生信息
        print("====================查询到的学生信息如下所示===================")
        for i in range(len(students)):
            if name == students[i]['姓名']:
                count += 1
                indexs.append(str(i))
                for keys in students[i]:
                    print("序号:{}".format(i), end="  ")
                    print(keys + ':' + str(students[i][keys]), end=",")
                print()
        if count == 0:
            print("没有改学生信息,无法删除")
            print('=======================请继续您的操作=====================')
        elif count != 0:
            index = input('请选择要删除的学生编号:')
            while True:
                if index not in indexs:
                    index = input("输入有误,请重新输入>>>")
                else:
                    students.remove(students[int(index)])
                    print("删除成功!")
                    print("======================请继续您的操作===================")
                    break
    

    主程序如下:

    import face
    import operating_student as op
    while True:
        items=face.mian_face()
    #添加学生
        if items=="1":
            while True:
                op.add_student()
                items1=face.face_one()
                if items1=="1":continue
                elif items1=="2":break
     #查找学生
        if items=="2":
            while True:
                items2= face.face_two()
                if items2=="1":
                    op.find_all(op.students)
                    continue
                if items2=="2":
                    op.find_name(op.students)
                    continue
                else:
                    break
    #删除学生
        if items=="3":
            while True:
                op.del_stu()
                items3=face.face_Three()
                if items3=="1":continue
                elif items3=="2":break
    #退出系统
        if items=="q":
            break
    
    

    相关文章

      网友评论

          本文标题:Day10--作业:优化学生管理系统

          本文链接:https://www.haomeiwen.com/subject/rfaoaftx.html