python教师信息采集系统

时间:2022/12/22

项目需求:

  1. 写一个项目,可以录入教师信息,建议不要录入中文,教师信息包括姓名、年龄、教授科目
  2. 将教师信息格式化打印出来
  3. 按照年龄对教师进行升序排列并打印
  4. 按照年龄对教师进行降序排列并打印
  5. 将教师存入文件中(提示,写文件可以用write方法)
  6. 可以从文件中读取教师信息
  7. """
    教师信息采集系统
    """
    import os
    
    # 定义一个储存教师的列表
    teacher_list = []
    
    
    def show():
        print('=======功能菜单=======')
        print('1. 添加教师信息')
        print('2. 删除教师信息')
        print('3. 修改教师信息')
        print('4. 查询单个教师信息')
        print('5. 查询所有的教师信息')
        print('6. 按年龄升序所有的教师信息')
        print('7. 按年龄降序所有的教师信息')
        print('8. 保存文件')
        print('0. 退出系统并保存')
        print('=======功能菜单=======')
    
    
    # 文件的读取 到teacher_list
    def file():
        # 全局变量内部使用 需要全局化 之后teacher_list在函数内部可以修改
        global teacher_list
        file_name = "teacher_data"
        # 判断文件是否存在
        if os.path.exists(file_name):
            # 打开文件
            f = open(file_name, "r", encoding="utf-8")
            # 读取文件
            while True:
                # 每次读取一行
                teacher_info = f.readline()
                # print(type(stu_info))
                # 判断文件中是否有数据
                if teacher_info:
                    # 将数据转换为字典 添加到teacher_list中
                    teacher_list.append(eval(teacher_info))
                    # eval()
                    # 函数官方解释:将字符串str当作有效的表达式来求值并返回计算结果
                    # 在我看来就是还原数据原来的样子
                    # print(type(eval(teacher_info)))
                else:
                    break
            f.close()
            # print("old_teacher_list:", teacher_list)
        else:
            print("gun")
    
    
    def insert():
        name = input("请输入需要添加的教师姓名:")
        age = int(input("请输入需要添加的教师的年龄:"))
        gender = input("请输入需要添加的教师的性别:")
        teacher_dict = {"姓名": name, "年龄": age, "性别": gender}
        # 将信息添加到stu_list
        teacher_list.append(teacher_dict)
        print("================")
    
    
    def remove():
        name = input("输入需要删除教师姓名")
        for teacher in teacher_list:
            if name == teacher["姓名"]:
                teacher_list.remove(teacher)
                print("==================删除成功====================")
    
    
    def modify():
        name = input("请输入需要修改教师姓名:")
        for i in range(len(teacher_list)):
            if name == teacher_list[i]["姓名"]:
                age = int(input("年龄"))
                gender = input("性别")
                teacher_list[i]["年龄"] = age
                teacher_list[i]["性别"] = gender
                print("==========修改成功===========")
    
    def print_teacher(teacher):
        print("------------------------------")
        print('教师姓名:%s|教师年龄:%d|教师性别:%s' % (teacher["姓名"],teacher["年龄"],teacher["性别"]))
        print("------------------------------")
    
    def search():
        name = input("请输入搜索的教师姓名:")
        for teacher in teacher_list:
            if name == teacher["姓名"]:
                print_teacher(teacher)
    
    # def show_up():
    #     print("升序查询")
    #     print("--------------------------------")
    #     list=teacher_list
    #     list.sort(key=lambda dict: dict['年龄'])
    #     for index, teacher in enumerate(list):
    #         print(index + 1, '|教师姓名:%s|教师年龄:%d|教师性别:%s' % (teacher["姓名"], teacher["年龄"], teacher["性别"]))
    #     print("--------------------------------")
    #
    # def show_down():
    #     print("降序序查询")
    #     print("--------------------------------")
    #     list=teacher_list
    #     list.sort(key=lambda dict: dict['年龄'],reverse=True)
    #     for index, teacher in enumerate(list):
    #         print(index + 1, '|教师姓名:%s|教师年龄:%d|教师性别:%s' % (teacher["姓名"], teacher["年龄"], teacher["性别"]))
    #     print("--------------------------------")
    def show_up():
        print("升序查询")
        print("--------------------------------")
        list=teacher_list
        teacher_list.sort(key=lambda dict: dict['年龄'])
        for index, teacher in enumerate(teacher_list):
            print(index + 1, '|教师姓名:%s|教师年龄:%d|教师性别:%s' % (teacher["姓名"], teacher["年龄"], teacher["性别"]))
        print("--------------------------------")
    
    def show_down():
        print("降序序查询")
        print("--------------------------------")
        list=teacher_list
        teacher_list.sort(key=lambda dict: dict['年龄'],reverse=True)
        for index, teacher in enumerate(teacher_list):
            print(index + 1, '|教师姓名:%s|教师年龄:%d|教师性别:%s' % (teacher["姓名"], teacher["年龄"], teacher["性别"]))
        print("--------------------------------")
    
    def show_all():
        print("--------------------------------")
        for index, teacher in enumerate(teacher_list):
            print(index + 1, '|教师姓名:%s|教师年龄:%d|教师性别:%s' % (teacher["姓名"],teacher["年龄"],teacher["性别"]))
        print("--------------------------------")
    
    def show_down():
        print("降序序查询")
        print("--------------------------------")
        list=teacher_list
        list.sort(key=lambda dict: dict['年龄'],reverse=True)
        for index, teacher in enumerate(list):
            print(index + 1, '|教师姓名:%s|教师年龄:%d|教师性别:%s' % (teacher["姓名"], teacher["年龄"], teacher["性别"]))
        print("--------------------------------")
    
    def show_all():
        print("--------------------------------")
        for index, teacher in enumerate(teacher_list):
            print(index + 1, '|教师姓名:%s|教师年龄:%d|教师性别:%s' % (teacher["姓名"],teacher["年龄"],teacher["性别"]))
        print("--------------------------------")
    
    
    def save():
        f = open("teacher_data", "w", encoding="utf-8")
        for teacher in teacher_list:
            f.write(str(teacher) + "\n")
        f.close()
    
    
    def main():
        #     将文件中的教师信息读取出来放入teacher_list
        file()
        while True:
            show()
            #     输入操作
            opt = input('请输入操作:')
            if opt == "1":
                insert()
    
            elif opt == '2':
                # print('2. 删除教师')
                remove()
            elif opt == '3':
                # print('3. 修改教师信息')
                modify()
            elif opt == '4':
                # print('4. 查询单个教师信息')
                search()
            elif opt == '5':
                # print('5. 查询所有的教师信息')
                show_all()
            elif opt == '6':
                # print('6. 查询所有的教师信息')
                show_up()
            elif opt == '7':
                # print('7. 查询所有的教师信息')
                show_down()
            elif opt == '8':
                print('已保存')
                save()
            elif opt == '0':
                print('欢迎下次使用学生管理系统')
                save()
    
                break
            else:
                print('你输入的内容有误,请重新输入')
                continue
            input('...... 回车键继续操作.......')
        # print("fianllst", teacher_list)
    
    
    # 表示只能当前程序执行下面代码
    
    if __name__ == "__main__":
        main()
    

    运行结果(仅供参考):

    功能菜单

    输入操作1添加老师

    输入5查看所有老师

    输入2删除老师bb

    输入3修改老师

    输入4查询老师cc

    输入6升序

    输入7降序

    输入8保存文件

    输入0退出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值