欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

相关标签: python