假设字典 dic_score 存放了学生的成绩,内容为{"李刚": 93,"陈静":78,"张金柱": 88,"赵启山":91,"李鑫":65,"黄宁":83}。试编写程序,按成绩从高到低的顺序输出学生的姓名。
时间: 2023-07-09 17:51:48 浏览: 174
好的,以下是 Python 代码实现:
```python
dic_score = {"李刚": 93, "陈静": 78, "张金柱": 88, "赵启山": 91, "李鑫": 65, "黄宁": 83}
sorted_score = sorted(dic_score.items(), key=lambda x: x[1], reverse=True)
print("按成绩从高到低的顺序输出学生的姓名:")
for item in sorted_score:
print(item[0])
```
运行结果如下:
```
按成绩从高到低的顺序输出学生的姓名:
李刚
赵启山
张金柱
黄宁
陈静
李鑫
```
程序使用 `sorted()` 函数对字典进行排序,其中 `key` 参数指定按照成绩进行排序,`reverse` 参数指定降序排列。最后,遍历排序后的结果,输出学生的姓名。
相关问题
假设字典dic score存放了学生的成绩,内容为“李刚“93."陈静":78.张金柱"88"赵启山491-李分:65-黄宁-23
这个字典的格式不太规范,需要先进行格式化处理。假设每个学生的成绩都用一个键值对表示,键为学生姓名,值为分数。对于多个姓名相同的学生,可以在姓名后面加上一个唯一的编号,例如“李刚1”、“李刚2”等。
经过格式化处理,可以得到以下字典:
```
scores = {
"李刚1": 93,
"陈静": 78,
"张金柱": 88,
"赵启山491": 65,
"李分": 65,
"黄宁-23": None
}
```
注意最后一个学生“黄宁-23”的分数为None,表示该学生没有成绩记录。
如果想要获取某个学生的成绩,可以使用字典的get方法,例如:
```
score = scores.get("李刚1")
if score is not None:
print("李刚1的成绩是:", score)
else:
print("找不到李刚1的成绩")
```
如果想要获取所有学生的姓名和成绩,可以使用字典的items方法,例如:
```
for name, score in scores.items():
print(name, "的成绩是:", score)
```
输出结果如下:
```
李刚1 的成绩是: 93
陈静 的成绩是: 78
张金柱 的成绩是: 88
赵启山491 的成绩是: 65
李分 的成绩是: 65
黄宁-23 的成绩是: None
```
Python中假设字典dic_score存放了学生的成绩,内容为{"李刚":93,"陈静":78,"张金柱":88,"赵启山"::91,"李鑫":65,"黄宁":83},求出按照成绩降序排序后学生名单(列表)输出形式['李刚,赵启山,张金柱,'黄宁,陈静,李鑫]
要按照成绩降序排序学生名单,使用Python中的sorted()函数和字典的items()方法来实现。首先,将字典dic_score照值进行降序排序,然后提取排序后的学生名字,最后将学生名字存放在一个列表中输出。
下面是实现的代码:
```python
dic_score = {"李刚": 93, "陈静": 78, "张金柱": 88, "赵启山": 91, "李鑫": 65, "黄宁": 83}
# 按照成绩降序排序字典
sorted_dic = sorted(dic_score.items(), key=lambda x: x, reverse=True)
# 提取排序后的学生名字
student_list = [item for item in sorted_dic]
# 输出学生名单
print(student_list)
```
输出结果为:['李刚', '赵启山', '张金柱', '黄宁', '陈静', '李鑫']