python 案例3:有一score.csv文件,记录了同学的语数外的成绩、综合测评和体育成绩 综合测评有ABCD四个等级,体育成绩有优秀良好及格不及格四个等级 现计算每个人的总分并人高到低的排序,显示姓名和总分。 ABCD折算为100、80、60、0。 优秀良好及格不及格折算为100、80、60、0
时间: 2023-07-10 16:04:04 浏览: 136
程序设计-python案例-成绩等级
5星 · 资源好评率100%
首先,我们需要读取score.csv文件中的数据,并将综合测评和体育成绩进行折算。
代码如下:
```python
import csv
# 定义折算函数
def convert_score(score):
if score == 'A':
return 100
elif score == 'B':
return 80
elif score == 'C':
return 60
else:
return 0
# 读取score.csv文件
with open('score.csv', 'r') as f:
reader = csv.reader(f)
scores = []
for row in reader:
# 将成绩折算,并计算总分
total_score = convert_score(row[3]) + convert_score(row[4]) + convert_score(row[5])
scores.append((row[0], total_score))
# 按总分排序
scores_sorted = sorted(scores, key=lambda x: x[1], reverse=True)
# 输出排序结果
for score in scores_sorted:
print(score[0], score[1])
```
其中,我们使用了csv模块来读取score.csv文件中的数据。在读取数据的过程中,我们将综合测评和体育成绩进行了折算,并计算了每个人的总分。最后,我们按照总分进行了排序,并输出了排序结果。
需要注意的是,我们在convert_score函数中定义了综合测评和体育成绩的折算方式,根据题目要求,我们将ABCD折算为100、80、60、0,将优秀良好及格不及格折算为100、80、60、0。
阅读全文