有teste.txt存储若干班级学生成绩(每 一行表示一个班级的成绩),运用python文件相关的知识,编写python程序使读取文件,并将各班成绩中每个学生的成绩和每个班级的平均分打印出来。
时间: 2024-03-16 20:43:26 浏览: 57
好的,这个问题和前一个问题类似,我们只需要稍微修改一下代码就可以实现了。以下是一个实现的示例代码:
```python
# 定义一个字典,用于存储每个班级的成绩列表
class_scores = {}
# 打开文件
with open('teste.txt', 'r') as f:
# 逐行读取文件内容
for line in f:
# 分割每行内容,得到班级编号和学生成绩列表
parts = line.strip().split(',')
class_id = parts[0]
scores = [int(x) for x in parts[1:]]
# 将班级成绩列表加入字典中
class_scores[class_id] = scores
# 计算每个班级的平均分
for class_id, scores in class_scores.items():
avg_score = sum(scores) / len(scores)
print(f"Class {class_id}: Avg Score = {avg_score:.2f}")
for i, score in enumerate(scores):
print(f" Student {i+1}: Score = {score}")
```
这个程序的逻辑和前一个程序基本相同,只不过我们需要将每个班级的成绩列表存储到一个字典中,然后再逐个计算每个班级的平均分并打印出来。`items()` 方法可以用于遍历字典中的键值对,这里我们用它来遍历每个班级的成绩列表。
希望这个程序能够帮助你解决问题,如果有任何疑问或不理解的地方,欢迎继续追问!
阅读全文