黑马Python字典教务系统案例答案
menu ########教务系统######## # 1.添加学生信息 # # 2.修改学生信息 # # 3.删除学生信息 # # 4查询学生信息 # # 5列出学生信息 # # 6.统计班级成绩 # Students_sy{} while True: choiceinput(输入选择) match choice: case 1: Students_nameinput(输入学生姓名) Students_cn input(输入学生语文成绩) Students_ma input(输入学生数学成绩) Students_en input(输入学生英语成绩) if Students_name in Students_sy: print(已存在) else: Students_sy[Students_name]{cn:Students_cn,ma:Students_ma,en:Students_en} case 2: Students_name input(修改学生姓名) Students_cn input(修改学生语文成绩) Students_ma input(修改学生数学成绩) Students_en input(修改学生英语成绩) if Students_name not in Students_sy: print(不存在) else: Students_sy[Students_name] {cn: Students_cn, ma: Students_ma, en: Students_en} case 3: Students_name input(删除学生姓名) if Students_name not in Students_sy: print(不存在) else: del Students_sy[Students_name] case 4: Students_name input(查询学生姓名) Students_infoStudents_sy[Students_name] if Students_name not in Students_sy: print(不存在) else: print(f姓名{Students_sy[Students_name]},语文成绩{Students_info[cn]},数学成绩{Students_info[ma]},英语成绩{Students_info[en]}) case 5: for Students_name in Students_sy: Students_info Students_sy[Students_name] print(f姓名{Students_sy[Students_name]},语文成绩{Students_info[cn]},数学成绩{Students_info[ma]},英语成绩{Students_info[en]}) case 6: # 初始化各科数据容器 cn_scores [] # 语文成绩列表 ma_scores [] # 数学成绩列表 en_scores [] # 英语成绩列表 # all_data [] # 存储(姓名, 语文, 数学, 英语)的元组列表 # 提取所有成绩数据 for Students_name in Students_sy: Students_info Students_sy[Students_name] cn_scores.append(Students_info[cn]) ma_scores.append(Students_info[ma]) en_scores.append(Students_info[en]) #cn_scores 列表里混进了字符串文字不是纯数字 cn_scores [float(s) for s in cn_scores] ma_scores [float(s) for s in ma_scores] en_scores [float(s) for s in en_scores] print(f语文最高分{max(cn_scores)},最低分{min(cn_scores)},平均分{int(sum(cn_scores)/len(cn_scores))}) print(f数学最高分{max(ma_scores)},最低分{min(ma_scores)},平均分{int(sum(ma_scores)/len(ma_scores))}) print(f英语最高分{max(en_scores)},最低分{min(en_scores)},平均分{int(sum(en_scores)/len(en_scores))}) mcnmax(cn_scores) icnmin(cn_scores) mmamax(ma_scores) imamin(ma_scores) menmax(en_scores) ienmin(en_scores) for Students_name in Students_sy: Students_info Students_sy[Students_name] if Students_info[cn]mcn: print(f语文最高分是{Students_name}) if Students_info[cn]icn: print(f语文最低分是{Students_name}) if Students_info[ma]mma: print(f数学最高分是{Students_name}) if Students_info[ma]ima: print(f数学最低分是{Students_name}) if Students_info[en]men: print(f英语最高分是{Students_name}) if Students_info[en]ien: print(f英语最低分是{Students_name}) case 7:break