用python完成这道题目:现有22级大数据班有其中6位同学的个人信息(学号+姓名 +Python的作业成绩)如下: 220309011xiaorun78 220309001xiaotan80 220309010xiaozhang82 220309012xiaoyang74 220309015xiaochen84 220309016xiaoli77 要求编程实现:学生输入上述某同学学号后输出其名字和个人成 绩以及成绩所在的名次,如果输入的学号不在字典中则输出字符 串“NotFound”。
时间: 2024-03-28 21:40:25 浏览: 45
Python+MySQL+Excel+Tableau+方法论+数据分析 大数据全栈开发工程师实践课程
可以使用Python中的字典来存储这些学生的信息,然后根据学号查找对应的学生信息,计算出成绩排名。
以下是实现代码:
```python
students = {
'220309011': {'name': 'xiaorun', 'score': 78},
'220309001': {'name': 'xiaotan', 'score': 80},
'220309010': {'name': 'xiaozhang', 'score': 82},
'220309012': {'name': 'xiaoyang', 'score': 74},
'220309015': {'name': 'xiaochen', 'score': 84},
'220309016': {'name': 'xiaoli', 'score': 77}
}
# 按照成绩从高到低排序
sorted_scores = sorted(students.items(), key=lambda x: x[1]['score'], reverse=True)
while True:
# 接收用户输入的学号
student_id = input('请输入学号:')
# 根据学号查找对应的学生信息
student = students.get(student_id)
if not student:
print('NotFound')
continue
# 计算成绩排名
rank = sorted_scores.index((student_id, student)) + 1
# 输出结果
print(f'姓名:{student["name"]},成绩:{student["score"]},排名:{rank}')
```
用户输入学号后,程序会输出对应学生的姓名、成绩和排名。如果输入的学号不在字典中,则输出字符串“NotFound”。
阅读全文