####################################### # 引号的输入全为英文格式 #1. 成绩的排名输出 grades=[["张三", 80, 90], ["李四", 75, 95], ["王五", 88, 92], ["赵六", 85, 87]] # 输入二维成绩表格(姓名+各科成绩) for ls in grades: x=sum(ls[1:]) ls.append(x) #将总分添加到倒数第二位 avg=x/(len(ls[1:])-1) ls.append(avg) #将平均分添加到末尾 grades.sort(reverse=True,key=lambda x:x[-1]) #按平均分从大到小排序 for i in grades: print(f'姓名{i[0]},总分{i[-2]},平均分{i[-1]:.2f}') #输出所有同学的总分和平均分 ########################################### #2. 成绩的修改 name_list = ['张三', '李四', '王五'] values_input = [ {'语文': 100, '数学': 90}, {'语文': 80, '数学': 95}, {'语文': 85, '数学': 88} ] # 直接创建嵌套字典 dc = dict(zip(name_list, values_input)) # 修改成绩 name = input("请输入要修改的学生姓名:").strip() if name in dc: try: subject, new_score = input("请输入科目和分数(格式:科目:分数):").split(':') subject = subject.strip() new_score = int(new_score.strip()) # 修改成绩(如果科目不存在会自动创建) dc[name][subject] = new_score except ValueError: print("错误:输入格式不正确,请使用'科目:分数'格式") else: print("错误:该学生不存在") # 打印修改后的成绩单 for name, scores in dc.items(): print(f"{name}: {scores}") ################################################ #3. 成绩的删除 name_list = ['张三', '李四', '王五'] values_input = [ {'语文': 100, '数学': 90}, {'语文': 80, '数学': 95}, {'语文': 85, '数学': 88} ] dc= dict(zip(name_list , values_input)) name=input('请输入需要删除成绩的学生的姓名:').strip() if name in dc: try: del_subject = input("请输入去除的科目和分数(格式:科目:):") del_subject = del_subject.strip() del_score = 0 # 将删除的成绩化为0 dc[name][del_subject] = del_score except ValueError: print("错误:输入格式不正确,请使用'科目:'格式") else: print("错误:该学生不存在") # 打印修改后的成绩单 for name, scores in dc.items(): print(f"{name}: {scores}") ################################################## #4. 成绩的增加 name_list = ['张三', '李四', '王五'] values_input = [ {'语文': 100, '数学': 90}, {'语文': 80, '数学': 95}, {'语文': 85, '数学': 88} ] dc= dict(zip(name_list , values_input)) name=input('请输入需要增添成绩的学生的姓名:').strip() if name in dc: try: new_subject, new_score= input("请输入需要增添的科目和分数(格式:科目:分数):").split(':') new_subject = new_subject.strip() new_score = int(new_score.strip()) dc[name][new_subject] = new_score except ValueError: print("错误:输入格式不正确,请使用'科目:分数'格式") else: print("错误:该学生不存在") # 打印修改后的成绩单 for name, scores in dc.items(): print(f"{name}: {scores}") ######################################## #######################################