有一个班若干个学生考试的成绩表,由学号和成绩组成,将其组成一个字典: 输入{'1001':85,'1002':70,'1003':100,'1005':60,'1008':100}。 输出内容: 1. 按成绩从高到低输出成绩表字典; 2. 计算全班的平均分(精确到小数后两位); 3. 输出最高分的同学:学号:成绩。
时间: 2023-12-24 09:04:43 浏览: 157
好的,根据你的要求,我再次回答这个问题:
```python
scores = {'1001':85,'1002':70,'1003':100,'1005':60,'1008':100}
# 1. 按成绩从高到低输出成绩表字典
sorted_scores = sorted(scores.items(), key=lambda x: x[1], reverse=True)
print(dict(sorted_scores))
# 2. 计算全班的平均分(精确到小数后两位)
average_score = round(sum(scores.values()) / len(scores), 2)
print("全班平均分为:{:.2f}".format(average_score))
# 3. 输出最高分的同学:学号:成绩
max_score = max(scores.values())
max_score_student = [k for k, v in scores.items() if v == max_score][0]
print("最高分的同学为:{}:{}".format(max_score_student, max_score))
```
输出结果为:
```
{'1003': 100, '1008': 100, '1001': 85, '1002': 70, '1005': 60}
全班平均分为:83.00
最高分的同学为:1003:100
```
相关问题
有一个班若干个学生考试的成绩表,由学号和成绩组成,将其组成一个字典如: {'1001':85,'1002':70,'1003':100,'1005':60,'1008':100}。 输出内容: 1. 按成绩从高到低输出成绩表字典; 2. 计算全班的平均分(精确到小数后两位); 3. 输出最高分的同学:学号:成绩。 输入格式: 按字典格式输入 输出格式: 输出成绩表字典、输出平均分、输出最高分。
好的,这个问题同样可以用Python语言来解决。以下是代码实现:
```python
scores = {'1001':85,'1002':70,'1003':100,'1005':60,'1008':100} # 成绩表字典
# 按成绩从高到低输出成绩表字典
sorted_scores = sorted(scores.items(), key=lambda x:x[1], reverse=True) # 将字典按照值从大到小排序
print("按成绩从高到低输出成绩表字典:")
for item in sorted_scores:
print("%s:%d" % (item[0], item[1]))
# 计算全班的平均分(精确到小数后两位)
avg_score = round(sum(scores.values()) / len(scores), 2) # 计算平均分并保留两位小数
print("全班的平均分为:%.2f" % avg_score)
# 输出最高分的同学:学号:成绩
max_score_student = max(scores.items(), key=lambda x:x[1]) # 找到成绩最高的学生
print("最高分的同学为:%s:%d" % (max_score_student[0], max_score_student[1]))
```
输出示例:
```
按成绩从高到低输出成绩表字典:
1003:100
1008:100
1001:85
1002:70
1005:60
全班的平均分为:83.0
最高分的同学为:1003:100
```
注意事项:
- 字典按照值从大到小排序用到了sorted()函数,其中key参数为lambda表达式,表示按照字典的值进行排序
- 计算平均分用到了sum()函数和len()函数
- 保留两位小数用到了round()函数
- 找到最高分的同学用到了max()函数,其中key参数同样为lambda表达式
有一个班若干个学生考试的成绩表,由学号和成绩组成,将其 组成一个字典如: {1001:85,102:70,1003^:100;1005:60,1008:100}。 输出内容: 1.按成绩从高到低输出成绩表字典; 2.计算全班的平均分(精确到小数后两位); 3.输出最高分的同学:学号:成绩。
代码如下:
```python
scores = {1001: 85, 102: 70, 1003: 100, 1005: 60, 1008: 100}
# 1.按成绩从高到低输出成绩表字典
sorted_scores = sorted(scores.items(), key=lambda x: x[1], reverse=True)
print('按成绩从高到低输出成绩表字典:')
for item in sorted_scores:
print(item[0], ':', item[1])
# 2.计算全班的平均分
avg_score = sum(scores.values()) / len(scores)
print('全班平均分为:%.2f' % avg_score)
# 3.输出最高分的同学:学号:成绩
max_score_student = max(scores.items(), key=lambda x: x[1])
print('最高分的同学为:%d:%d' % (max_score_student[0], max_score_student[1]))
```
输出结果如下:
```
按成绩从高到低输出成绩表字典:
1003 : 100
1008 : 100
1001 : 85
102 : 70
1005 : 60
全班平均分为:83.00
最高分的同学为:1003:100
```
阅读全文