修改教师信息的CMS查询系统

1、列表嵌套字典

#列表章节时写作
teachers = [["司马迁", 28, "历史", 101],["祖冲之", 42, "数学", 102],["张衡", 32, "地理", 103]
]#现利用列表嵌套字典将其进行修改
teachers = [{'name':'司马迁','age': 28,'class': '历史','job_id': 101},{'name':'祖冲之','age': 42,'class': '数学','job_id': 102},{'name':'张衡','age': 32,'class': '地理','job_id': 103}   
]
#现可以对该系统进行增删改查等操作
while True:menu_selection = input("""选择要进行的操作:1、添加老师信息2、删除老师信息3、修改老师信息4、查看老师信息5、查看所有老师信息6、退出    """)if menu_selection == "1":teacher_name = input("输入教师姓名:")teacher_age = int(input("输入教师年龄:"))teacher_class = input("输入教师学科:")teacher_jobid = int(input("输入教师工号:"))for i in teachers:if teacher_jobid == i["job_id"]:print("工号重复,请重新添加")breakelse:new_teacher = {"name": teacher_name,"age": teacher_age,"class": teacher_class,"job_id": teacher_jobid}print(f"""新老师的信息为:姓名:{new_teacher["name"]}年龄:{new_teacher["age"]}科目:{new_teacher["class"]}工号:{new_teacher["job_id"]}""")teachers.append(new_teacher)elif menu_selection == "2":del_name = input("输入要删除的教师姓名:")flag01 = Falseflag02 = Falsefor i in teachers:if del_name == i["name"]:flag01 = Trueprint(f"查到姓名是{i["name"]},其工号是{i["job_id"]}")if flag01 == False:del_jobid= int(input("未找到符合条件的员工,请尝试输入工号:"))else:del_jobid = int(input("输入要删除的教师工号:"))for j in teachers:if del_jobid == j["job_id"]:print(f"员工{j["name"]}已删除")flag02 = Trueteachers.remove(j)if flag02 == False:print("未找到符合条件的员工")elif menu_selection == "3":update_jobid= int(input("输入要修改的教师工号:"))for i in teachers:if update_jobid == i["job_id"]:print(f"""姓名:{i["name"]}年龄:{i["age"]}科目:{i["class"]}工号:{i["job_id"]}""")i["age"] = int(input("输入教师年龄:"))i["class"] = input("输入教师学科:")print(f"""修改后信息:姓名:{i["name"]}年龄:{i["age"]}科目:{i["class"]}工号:{i["job_id"]}""")elif menu_selection == "4":query_name = input("输入要查询的教师姓名:")query_jobid = int(input("输入要查询的教师工号:"))for i in teachers:if query_name == i["name"] and query_jobid == i["job_id"]:print(f"""姓名:{i["name"]}年龄:{i["age"]}科目:{i["class"]}工号:{i["job_id"]}""")else:print("未找到符合条件的信息")elif menu_selection == "5":for i in teachers:print(f"""姓名:{i["name"]}年龄:{i["age"]}科目:{i["class"]}工号:{i["job_id"]}""")elif menu_selection == "6":breakelse:print("输出错误")

2、字典嵌套字典

teachers = {101:{"name":"司马迁","age": 28,"class":"历史"},102:{"name":"祖冲之","age":42,"class":"数学"},103:{"name":"张衡","age":32,"class":"地理"},104:{"name": "祖冲之", "age": 42, "class": "数学"},
}
#现可以对该系统进行增删改查等操作
while True:menu_selection = input("""选择要进行的操作:1、添加老师信息2、删除老师信息3、修改老师信息4、查看老师信息5、查看所有老师信息6、退出    """)if menu_selection == '1':teacher_name = input("输入教师姓名:")teacher_age = int(input("输入教师年龄:"))teacher_class = input("输入教师学科:")teacher_jobid = int(input("输入教师工号:"))key_list = list(teachers.keys())if teacher_jobid not in key_list:new_teacher = {teacher_jobid: {"name":teacher_name,"age":teacher_age,"class":teacher_class}}teachers.update(new_teacher)print(f"""新增老师信息:姓名:{teacher_name}年龄:{teacher_age}科目:{teacher_class}工号:{teacher_jobid}""")else:print("工号不可重复")if menu_selection == '2':flag = Falsedel_name = input("输入教师姓名:")for i,k in teachers.items():if del_name != k['name']:continueelse:print(f"""该姓名存在:姓名:{k["name"]}工号:{i}""")flag = Truecontinueif flag == False:print("不存在的用户名")breakdel_jobid = int(input("请输入要删除的工号"))if del_jobid == teachers[del_jobid] and del_name == teachers[del_jobid]['name']:print(f"工号为{del_jobid}的员工{teachers[del_jobid]["name"]}已删除")teachers.pop(del_jobid)if menu_selection == '3':update_jobid = int(input("输入教师工号:"))if update_jobid in teachers.keys():print(f"工号为{update_jobid}的员工为{teachers[update_jobid]['name']}")update_age = int(input("输入教师年龄:"))update_class = input("输入教师学科:")teachers[update_jobid]["age"] = update_ageteachers[update_jobid]["class"] = update_classprint(f"""更新后信息:姓名:{teachers[update_jobid]['name']}年龄:{update_age}科目:{update_class}工号:{update_jobid}""")else:print("不存在的员工号")breakif menu_selection == '4':query_name = input("输入查询的老师姓名:")flag = Falsefor i in teachers.keys():if query_name == teachers[i]["name"]:print(f"""查到的员工:姓名:{teachers[i]["name"]}年龄:{teachers[i]["age"]}科目:{teachers[i]["class"]}工号:{i}""")flag = Trueif flag == False:print("不存在该员工")if menu_selection == '5':for k,v in teachers.items():print(f"""姓名:{v["name"]}年龄:{v["age"]}科目:{v["class"]}工号:{k}""")if menu_selection == '6':break