#求班级总成绩最高的学生
#求班级总成绩语文最高的学生
#求班级总成绩数学最高的学生
class1 = {'小王':{'chinese':86,'math':92},'小红':{'chinese':96,'math':99},'小明':{'chinese':72,'math':84}}
```python
# encoding=utf-8
class1 = {'小王': {'chinese': 86, 'math': 92}, '小红': {'chinese': 96, 'math': 99}, '小明': {'chinese': 72, 'math': 84}}
# 求班级总成绩最高的学生
def highest_sum_grade():
sum_grade = 0 # 初始化总成绩
lt1 = [] # 存放每位同学的总成绩
lt2 = [] # 存放对应的同学的姓名
for stu in class1:
sum_grade = class1[stu].get('chinese') + class1[stu].get('math')
lt1.append(sum_grade)
lt2.append(stu)
student = lt2[lt1.index(max(lt1))]
print('班级总成绩最高的学生:%s' % student)
# 求班级语文成绩最高的学生
def highest_chinese_grade():
chinese_grade = 0 # 初始化语文成绩
lt1 = [] # 存放每一个同学的语文成绩
lt2 = [] # 存放每一个同学的姓名
for stu in class1:
chinese_grade = class1[stu].get('chinese')
lt1.append(chinese_grade)
lt2.append(stu)
student = lt2[lt1.index(max(lt1))]
print('班级语文成绩最高的学生:%s' % student)
# 求班级数学成绩最高的学生
def highest_math_grade():
math_grade = 0 # 初始化数学成绩
lt1 = [] # 存放每一个同学的数学成绩
lt2 = [] # 存放每一个同学的姓名
for stu in class1:
math_grade = class1[stu].get('math')
lt1.append(math_grade)
lt2.append(stu)
student = lt2[lt1.index(max(lt1))]
print('班级数学成绩最高的学生:%s' % student)
# 测试
if __name__ == '__main__':
highest_sum_grade()
highest_chinese_grade()
highest_math_grade()
```
#!/usr/bin/nve python
# coding: utf-8
class1 = {'小王': {'chinse': 86, 'math': 92}, '小红': {'chinse': 96, 'math': 99}, '小明': {'chinse': 72, 'math': 84}}
count = 0 # 总分
name = ''
for k,v in class1.items():
if sum(v.values()) > count:
count = sum(v.values())
name = k
print(f"\n总分最多的是{name}:{class1.get(name)}")
# *********
math = 0 # 总分
name = ''
for k,v in class1.items():
if v.get('math') > math:
math = v.get('math')
name = k
print(f"\n数学最多的是{name}:分数 {math}")
# *********
chinse = 0 # 总分
name = ''
for k,v in class1.items():
if v.get('chinse') > chinse:
chinse = v.get('chinse')
name = k
print(f"\n语文最多的是{name}:分数 {chinse}")
```python
import operator
class1 = {'小王':{'chinese':86,'math':92},'小红':{'chinese':96,'math':99},'小明':{'chinese':72,'math':84}}
AllTotalScore = {} #定义学生总分字典
ChineseScore ={} #定义学生语文分数字典
MathScore = {} #定义学生数学分数字典
for person in class1:
EveryTotalScore = 0
ChineseScore[person] = class1[person]['chinese']#取出每个人的语文分数存入字典,循环结束后ChineseScore:{'小王': 86, '小红': 96, '小明': 72}
MathScore[person] = class1[person]['math']#取出每个人的数学分数存入字典,循环结束后MathScore:{'小王': 92, '小红': 99, '小明': 84}
for subject in class1[person]:
EveryTotalScore +=class1[person][subject]#每个人的语文和数学成绩相加
AllTotalScore[person] = EveryTotalScore#循环结束后 AllTotalScore:{'小王': 178, '小红': 195, '小明': 156}
print('总成绩最高的学生:',max(AllTotalScore, key = AllTotalScore.get))#该函数能够取出字典最大值所对应的键
print('语文最高的学生:',max(ChineseScore, key = ChineseScore.get))
print('数学最高的学生:',max(MathScore, key = MathScore.get))
```