有一个班若干个学生考试的成绩表,由学号和成绩组成,将其组成一个字典如: {'1001':85,'1002':70,'1003':100,'1005':60,'1008':100}。 输出内容: 1. 按成绩从高到低输出成绩表字典; 2. 计算全班的平均分(精确到小数后两位); 3. 输出最高分的同学:学号:成绩。
时间: 2023-12-15 09:06:53 浏览: 94
输入十个学生的学号和成绩,输出最高分及学号
好的,我会依次回答你的问题:
1. 按成绩从高到低输出成绩表字典:
可以使用Python的sorted函数按照字典的value值进行排序,然后将排序后的结果以字典的形式输出即可:
```python
scores = {'1001':85,'1002':70,'1003':100,'1005':60,'1008':100}
# 按成绩从高到低排序
sorted_scores = dict(sorted(scores.items(), key=lambda x:x[1], reverse=True))
# 输出排序后的成绩表字典
print(sorted_scores)
```
输出结果为:
```
{'1003': 100, '1008': 100, '1001': 85, '1002': 70, '1005': 60}
```
2. 计算全班的平均分(精确到小数后两位):
可以使用Python的sum函数和len函数计算平均分:
```python
scores = {'1001':85,'1002':70,'1003':100,'1005':60,'1008':100}
# 计算平均分
average_score = round(sum(scores.values()) / len(scores), 2)
# 输出平均分
print(average_score)
```
输出结果为:
```
83.0
```
3. 输出最高分的同学:学号:成绩。
可以使用Python的max函数找到最高分,并返回其对应的键值对:
```python
scores = {'1001':85,'1002':70,'1003':100,'1005':60,'1008':100}
# 找到最高分
max_score = max(scores.items(), key=lambda x:x[1])
# 输出最高分的同学
print(f"{max_score[0]}:{max_score[1]}")
```
输出结果为:
```
1003:100
```
阅读全文