只读方式打开文件score.csv,并依此计算3门课程的平均成绩,最高分,最低分。程序名为py6-4.py
时间: 2024-03-12 14:46:37 浏览: 63
C语言程序设计-输入2个学生3门课的成绩,计算学生成绩平均分,课程平均分和最高分.
5星 · 资源好评率100%
以下是py6-4.py的代码:
```python
with open("score.csv", "r") as f:
lines = f.readlines()[1:] # 跳过第一行表头
# 初始化三个列表,分别存储三门课的成绩
course1 = []
course2 = []
course3 = []
# 读取每行数据,并将成绩存入对应的列表中
for line in lines:
data = line.strip().split(",")
course1.append(float(data[1]))
course2.append(float(data[2]))
course3.append(float(data[3]))
# 计算平均成绩
avg1 = sum(course1) / len(course1)
avg2 = sum(course2) / len(course2)
avg3 = sum(course3) / len(course3)
# 计算最高分和最低分
max1 = max(course1)
max2 = max(course2)
max3 = max(course3)
min1 = min(course1)
min2 = min(course2)
min3 = min(course3)
# 输出结果
print("课程1平均成绩:", avg1, "最高分:", max1, "最低分:", min1)
print("课程2平均成绩:", avg2, "最高分:", max2, "最低分:", min2)
print("课程3平均成绩:", avg3, "最高分:", max3, "最低分:", min3)
```
代码解释:
1. 使用 `with open("score.csv", "r") as f` 以只读模式打开文件score.csv,并使用 `f.readlines()` 方法读取所有行数据到一个列表中。
2. 使用索引操作 `[1:]` 跳过第一行表头,并将剩余行数据存入 `lines` 列表中。
3. 初始化三个列表 `course1`、`course2`、`course3` 分别存储三门课的成绩。
4. 使用一个 for 循环,读取每行数据,并将成绩存入对应的列表中。
5. 使用 `sum()` 和 `len()` 计算每门课的平均成绩。
6. 使用 `max()` 和 `min()` 计算每门课的最高分和最低分。
7. 最后,输出每门课的平均成绩、最高分和最低分。
阅读全文