python计算考生成绩排名
程序员文章站
2022-11-30 14:05:06
2.有3个考生:各有2门成绩自己输入1 输出一下哪个考生总成绩第一2 输出2门成绩中的最高分3 输出最低平均分对应的名字"""#存考生数据grade={}for i in range(1,4): name=input('请输入学生%s的名字:'%i) #输入考生的名字 subject1=input('请输入成绩科目1的名称:') #输入考生的第一个科目的名字 grade1=int(input('请输入学生%s的%s成绩:'%(name,subject1))) #输入考...
2.有3个考生:各有2门成绩
自己输入
1 输出一下哪个考生总成绩第一
2 输出2门成绩中的最高分
3 输出最低平均分对应的名字
""" #存考生数据 grade={} for i in range(1,4): name=input('请输入学生%s的名字:'%i) #输入考生的名字 subject1=input('请输入成绩科目1的名称:') #输入考生的第一个科目的名字 grade1=int(input('请输入学生%s的%s成绩:'%(name,subject1))) #输入考生第一个科目的成绩 subject1_grade={subject1:grade1}#把第一个科目和成绩存到一个字典中 subject2=input('请输入成绩科目2的名称:') #输入第二个科目的名字 grade2=int(input('请输入学生%s的%s成绩:'%(name,subject2)))#输入学生第二个科目的成绩 subject2_grade={subject2:grade2} #把第二个科目和成绩存到一个字典中 grade_list=[] grade_list.append(subject1_grade) #把第一个科目和成绩添加到列表中 grade_list.append(subject2_grade) #把第二个科目和成绩添加到列表中 grade[name]=grade_list #把考生姓名作为key,科目和成绩作为value print(grade) #求总成绩最高分 grade = {'张三': [{'语文': 60}, {'数学': 70}], '李四': [{'语文': 70}, {'数学': 80}], '王五': [{'语文': 90}, {'数学': 100}]} total_grade={} for i in grade.keys(): #遍历字典 total_grade[i]=0 #生成total_grade的key,成绩初始化为0 grade_sum = grade[i][0]['语文']+grade[i][1]['数学'] #把每个人各科的成绩取出来 total_grade[i]=grade_sum #计算出每个人的总成绩 high_grade=max(list(total_grade.values())) #把最高分拿到 print(high_grade) #求两门成绩中的最高分 grade = {'张三': [{'语文': 60}, {'数学': 70}], '李四': [{'语文': 70}, {'数学': 80}], '王五': [{'语文': 90}, {'数学': 100}]} all_grade=[] for i in grade.keys(): all_grade.append(grade[i][0]['语文']) #取出考生的语文成绩,添加到列表中 all_grade.append(grade[i][1]['数学']) #取出考生的数学成绩,添加到列表中 high_grade=max(all_grade) #取出最高分 print('2门成绩中的最高分:%s' %high_grade) #想知道谁得了2门成绩的最高分,是哪一门科目 for i in grade.keys(): if grade[i][0]['语文']==high_grade: print('%s同学得了成绩中的最高分'%i) print('%s同学的%s得了最高分'%(i,'语文')) if grade[i][1]['数学']==high_grade: print('%s同学得了成绩中的最高分'%i) print('%s同学的%s得了最高分'%(i,'数学')) #求最低平均分 avg_grade=[] for i in grade.keys(): name=i
avg=(grade[i][0]['语文']+grade[i][1]['数学'])/2 avg_grade.append([name,avg]) print(avg_grade) low_avg_grade=0 temp=[] #存所有平均分的成绩 for i in range(len(avg_grade)): temp.append(avg_grade[i][1]) #取出成绩的分数 low_avg_grade=min(temp) print('最低的平均分是:',low_avg_grade) for i in range(len(avg_grade)): if avg_grade[i][1]==low_avg_grade: print(avg_grade[i][0]) #用字典求最低平均分 avg_grade={} for i in grade.keys(): name=i
avg=(grade[i][0]['语文']+grade[i][1]['数学'])/2 avg_grade[name]=avg print(avg_grade) for k,v in avg_grade.items(): if v==min(avg_grade.values()): print('平均分最低的分数为:',v) print('平均分最低同学的名字是:',k)
本文地址:https://blog.csdn.net/weixin_48636791/article/details/107144405
下一篇: OpenGL ES 渲染立体图形