diff --git a/学生排名的输出.py b/学生排名的输出.py new file mode 100644 index 0000000..ba918f4 --- /dev/null +++ b/学生排名的输出.py @@ -0,0 +1,102 @@ +####################################### +# 引号的输入全为英文格式 +#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}") + + +######################################## +####################################### + + + + + + + \ No newline at end of file