已知五个同学的数学和英语成绩A78和75b92和67c84和88d50和50e99 98。用列表的方法。是按照总分从高到低进行排序后,输出姓名和成绩。
怎么存储的数据?下面这样?
lst=[
['A',78,75],
['B',92,67],
['C',84,88],
['D',50,50],
['E',99,98]
]
lst=sorted(lst,key=lambda stu:stu[1]+stu[2],reverse=True)
for stu in lst:
print(stu[0],'数学:%s'%stu[1],'英语:%s'%stu[2])
score = {
'A':{'数学':78,'英语':75},
'B':{'数学':92,'英语':67},
'C':{'数学':84,'英语':88},
'D':{'数学':50,'英语':50},
'E':{'数学':99,'英语':98},
}
result = []
for name,info in score.items():
single_sum = info.get('数学') + info.get('英语')
result.append( [ name,single_sum ] )
# 按照结果从大到小排序
result.sort( key=lambda x:x[1],reverse=True)
for i in result:
print( '姓名: {} 成绩:{}'.format( i[0],i[1] ) )
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!