"""
教师信息采集系统
"""
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()