通过创建字典类型,将成绩作为字典的key,姓名与学号作为字典的value进行检索
时间: 2024-10-11 17:11:08 浏览: 23
python字典嵌套字典的情况下找到某个key的value详解
5星 · 资源好评率100%
当你想要根据成绩快速查询某个学生的信息时,可以利用字典(Dictionary)的数据结构。在这种情况下,你可以按照以下步骤操作:
1. 创建一个空字典,键用于存储成绩,值是一个包含姓名和学号的小型元组,例如 `{'98765': ('张三', '001')}`。
2. 遍历每个学生的输入,解码学号、姓名和成绩,并构建字典条目。如果学生已经存在于字典中并且其成绩更高,则更新该学生的信息;若不存在,则直接添加新条目。
3. 当遍历完整个输入后,查找字典中成绩最高的学生并返回他们的姓名、学号。
下面是一个简单的Python示例:
```python
def search_students_by_score(input_data):
student_scores = {}
for line in input_data.split('\n'):
parts = line.split()
id, name = parts[0], parts[1]
scores = tuple(int(score) for score in parts[2:])
# 更新或插入分数最高的学生信息
if len(student_scores) == 0 or sum(scores) > student_scores[max(student_scores.keys())][1]:
student_scores[id] = (name, sum(scores))
max_score_student = student_scores[max(student_scores.keys(), key=student_scores.get)]
return f"姓名: {max_score_student[0]}, 学号: {max_score_student[1]}, 总分: {sum(max_score_student[1])}"
# 示例输入
input_data = "0001 小明 85 92 90\n0002 小红 88 95 91"
print(search_students_by_score(input_data))
阅读全文