python简易教师系统

项目需求:

  1. 写一个项目,可以录入教师信息,建议不要录入中文,教师信息包括姓名、年龄、教授科目
  2. 将教师信息格式化打印出来
  3. 按照年龄对教师进行升序排列并打印
  4. 按照年龄对教师进行降序排列并打印
  5. 将教师存入文件中(提示,写文件可以用write方法)
  6. 可以从文件中读取教师信息

代码(仅供参考):

"""

教师信息采集系统

"""

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()

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值