文件score.csv中存放如下图所示学生的成绩,分别计算输入学生和课程的平均成绩,并输出所求平均成绩,保留2位小数 图片1.png 输入格式: 从键盘上输入学生姓名和课程名称,中间用空格隔开 输出格式: 每行分别输出该学生的平均成绩和该课程的平均成绩,保留2位小数。如果没有该学生,则输出没有该学生;如果没有该课程,则输出没有该课程。 输入样例: 例如: 毛莉 语文 输出样例: 例如: 该学生平均成绩为80.00 该课程平均成绩为76.97 输入样例: 例如: 毛莉 Python 输出样例: 例如: 该学生平均成绩为80.00 没有该课程 输入样例: 例如: 张三 数学 输出样例: 例如: 没有该学生 该课程平均成绩为76.84
时间: 2024-02-24 15:55:40 浏览: 53
好的,我已经明白了。下面是代码实现,你可以试着输入学生姓名和课程名称进行测试:
```python
import csv
# 读取csv文件
with open('score.csv', 'r', encoding='utf-8') as f:
reader = csv.reader(f)
data = list(reader)
# 获取学生姓名和课程名称
name, course = input().split()
# 查找学生和课程所在的列
name_col = -1
course_col = -1
for i in range(len(data[0])):
if data[0][i] == name:
name_col = i
elif data[0][i] == course:
course_col = i
# 如果找不到学生或课程,则输出相应提示
if name_col == -1:
print('没有该学生')
else:
# 计算学生平均成绩
total_score = 0
num_score = 0
for i in range(1, len(data)):
if data[i][name_col] != '':
total_score += float(data[i][name_col])
num_score += 1
if num_score == 0:
print('该学生没有成绩')
else:
avg_score = total_score / num_score
print('该学生平均成绩为{:.2f}'.format(avg_score))
if course_col == -1:
print('没有该课程')
else:
# 计算课程平均成绩
total_score = 0
num_score = 0
for i in range(1, len(data)):
if data[i][course_col] != '':
total_score += float(data[i][course_col])
num_score += 1
if num_score == 0:
print('该课程没有成绩')
else:
avg_score = total_score / num_score
print('该课程平均成绩为{:.2f}'.format(avg_score))
```
阅读全文