该题上来会像应该先对键值进行排序,再对键进行排序。
首先,创建字典输入学生的成绩与姓名信息。
chengji={"Han":65,"Wang":97,"Ma":73,"Xu":85,"Yang":92}
再对成绩字典中的键值进行排序
a=list(reversed(sorted(chengji.values())))
用values获取键值序列,再用sorted函数排序,因为是从高到低,所以再对列表进行反转。因为reversed函数返回值为了节约空间,返回为地址,我们应该用list函数将其转化为列表类型。
这样,键值就进行了排序,现在就想如何根据键值序来输出键序。
我们使用for循环对列表进行遍历输出即可。
b=list(chengji.keys())
j=0
while j<=4:
for i in range(0,5):
if chengji[b[i]]==a[j]:
print(b[i])
j+=1
完整代码如下:
chengji={"Han":65,"Wang":97,"Ma":73,"Xu":85,"Yang":92}
a=list(reversed(sorted(chengji.values())))
b=list(chengji.keys())
j=0
while j<=4:
for i in range(0,5):
if chengji[b[i]]==a[j]:
print(b[i])
j+=1
输出结果: