请用python键盘输入学习的课程名称及考分等信息,屏幕输出得分最高的课程及成绩,得分最低的课程及成绩,以及平均分(保留2位小数)。 输入格式: 键盘输入学习的课程名称及考分等信息,信息间采用空格分隔,每个课程一行,空行回车结束录入。 输出格式: 屏幕输出得分最高的课程及成绩,得分最低的课程及成绩,以及平均分(保留2位小数)。 输入样例: 示例格式如下: 数学 90 语文 95 英语 86 物理 84 生物 87 输出样例: 最高分课程是语文95, 最低分课程是物理84, 平均分是88.40
时间: 2024-02-20 08:00:08 浏览: 143
以下是 Python 代码实现:
```python
scores = []
while True:
input_str = input()
if input_str == "":
break
course, score = input_str.split()
scores.append((course, int(score)))
sorted_scores = sorted(scores, key=lambda x: x[1], reverse=True)
highest_course, highest_score = sorted_scores[0]
lowest_course, lowest_score = sorted_scores[-1]
total_score = sum(score for _, score in scores)
average_score = total_score / len(scores)
print("最高分课程是{}{}, 最低分课程是{}{}, 平均分是{:.2f}".format(highest_course, highest_score, lowest_course, lowest_score, average_score))
```
首先,使用一个循环读取键盘输入的课程名称及考分等信息,每行一个课程,直到读入一个空行为止。将每个课程的名称和分数转换为一个元组,然后将所有元组放入一个列表 `scores` 中。
然后,使用 `sorted()` 函数对 `scores` 列表进行排序,按照分数从高到低排序。取出排序后的列表中的第一个元组,即为得分最高的课程及成绩;取出排序后的列表中的最后一个元组,即为得分最低的课程及成绩。
计算所有课程的总分和平均分,最后输出结果。
例如:
输入:
```
数学 90
语文 95
英语 86
物理 84
生物 87
```
输出:
```
最高分课程是语文95, 最低分课程是物理84, 平均分是88.40
```
阅读全文