编写Python代码,以实现如下功能:键盘输入小明学习的课程名称及考分等信息,信息间采用空格分隔,每个课程一行,空行回车结束录入,示例格式如下: 数学 90 语文 95 英语 86 物理 84 生物 87 屏幕输出得分最高的课程及成绩,得分最低的课程及成绩,以及平均分(保留2位小数)。 注意,其中逗号为英文逗号,格式如下: 最高分课程是语文95,最低分课程是物理84,平均分是88.40
时间: 2023-10-07 08:06:00 浏览: 231
以下是实现该功能的Python代码:
```python
scores = {}
total_score = 0
count = 0
while True:
input_str = input()
if not input_str:
break
course, score = input_str.split()
score = int(score)
scores[course] = score
total_score += score
count += 1
max_course, max_score = max(scores.items(), key=lambda x: x[1])
min_course, min_score = min(scores.items(), key=lambda x: x[1])
average_score = total_score / count
print("最高分课程是{}{},最低分课程是{}{},平均分是{:.2f}".format(max_course, max_score, min_course, min_score, average_score))
```
代码解释:
首先定义一个空字典 `scores`,用于存储每门课程的成绩。同时定义变量 `total_score` 和 `count` 分别表示总分和课程数,用于计算平均分。
接下来进入一个无限循环,每次循环读入一行输入字符串 `input_str`,如果输入字符串为空则跳出循环。
将输入字符串按空格分隔为课程和成绩两个字符串,将成绩字符串转换为整数,并将课程和成绩分别存入字典 `scores` 中。同时将成绩加入总分中,课程数加 1。
循环结束后,使用 `max()` 和 `min()` 函数从字典 `scores` 中找到最高分和最低分对应的课程和成绩,使用格式化字符串输出结果。平均分计算公式为总分除以课程数,使用 `format()` 函数将结果保留两位小数并输出。
阅读全文