import os # 创建文件全局变量 file_name = "students.txt" # 显示菜单 def createMenu(): print("—" * 30) print("|\t\t\t\t\t\t\t学生管理系统\t\t\t\t\t|") print("|\t\t\t\t1.添加学生\t\t\t\t\t\t\t\t\t|") print("|\t\t\t\t2.删除学生\t\t\t\t\t\t\t\t\t|") print("|\t\t\t\t3.修改学生\t\t\t\t\t\t\t\t\t|") print("|\t\t\t\t4.查询学生\t\t\t\t\t\t\t\t\t|") print("|\t\t\t\t5.显示所有学生\t\t\t\t\t\t\t\t|") print("|\t\t\t\t6.保存数据\t\t\t\t\t\t\t\t\t|") print("|\t\t\t\t7.读取数据\t\t\t\t\t\t\t\t\t|") print("|\t\t\t\t8.退出系统\t\t\t\t\t\t\t\t\t|") print("—" * 30) # 班级所有的信息 # all_dict = {"001": {"no": "001", "name": "小明", "score": "90"}} all_dict = {} # 1.添加学生 def add_info(): # 首先引导用户输入学号 my_no = input("请输入学号:") # 判断用户是否存在 # 如果不存在,则添加用户信息 if my_no not in all_dict: stu_name = input("请输入学生姓名:") stu_score = input("请输入学生成绩:") stu_dict = {"no": my_no, "name": stu_name, "score": stu_score} all_dict[my_no] = stu_dict print("添加学生信息成功……") # 如果存在,则打印用户已存在 else: print("学号已经存在……") print(all_dict) # 2. 删除学生 def del_info(): # 引导用户输入的信息 my_no = input("请输入用户学号:") # 判断用户信息是否存在 # 如果不存在,打印用户不存在 if my_no not in all_dict: print("用户信息不存在") # 如果存在,删除用户信息 else: del all_dict[my_no] print("删除学生信息成功") # 3.修改学生 def change_info(): # 引导用户输入用户学号 my_no = input("请输入用户学号:") # 判断用户信息是否存在 if my_no not in all_dict: print("用户信息不存在") else: new_name = input("请输入修改的学生姓名:") new_score = input("请输入修改的学生成绩:") new_dict = {"no": my_no, "name": new_name, "score": new_score} all_dict[my_no] = new_dict print("修改后的信息为:……") print(all_dict) # 4.查询学生 def find_info(): # 引导用户输入学号 my_no = input("请输入学号:") # 判断用户输入的学号是否存在 # 如果不存在,输出用户信息不存在 if my_no not in all_dict: print("用户信息不存在……") # 如果存在,依次输出用户的学号姓名成绩 else: print("学号:%s" % my_no) print("姓名:%s" % all_dict[my_no]["name"]) print("成绩:%s" % all_dict[my_no]["score"]) # 5.显示所有学生 def show_info(): for stu_dict in all_dict.values(): print("-" * 10, "***班级信息***", "-" * 10) print("学号:%s" % stu_dict["no"]) print("姓名:%s" % stu_dict["name"]) print("成绩:%s" % stu_dict["score"]) print("-" * 37) # 6.保存数据 def save_info(): file = open(file_name, "w", encoding="utf-8") file.write(str(all_dict)) file.close() print("文件保存成功") print("将内存的文件保存到硬盘里") # 7.读取数据 def read_info(): # 判断文件是否存在 # 如果不存在(用户第一次打开程序) if not os.path.exists(file_name): file = open(file_name, "w", encoding="utf-8") file.close() print("用户第一次打开,创建一个新的空文件") else: file = open(file_name, "r", encoding="utf-8") ret = file.read() global all_dict all_dict = eval(ret) file.close() print("将硬盘里文件存储到内存里") # 8.退出系统 def exit_info(): print("退出学生管理系统") def main(): while True: # 创建菜单项 createMenu() num = int(input("请选择:")) if num in range(1, 9): if num == 1: add_info() elif num == 2: del_info() elif num == 3: change_info() elif num == 4: find_info() elif num == 5: show_info() elif num == 6: save_info() elif num == 7: read_info() elif num == 8: exit_info() break else: print("请选择正确的选择:") main()