下载附件8_2 score.csv学生成绩文件,设计程序完成下列任务;输出学生成绩。 在标题增加总分项,计算学生总分,添加到总分项并输出。在标题增加平均分,计算学生平均分,添加到平均项并输出。输出python语言最高成绩 按总分排序输出学会成绩表(提示:用lambda函数)
时间: 2023-02-06 19:45:24 浏览: 115
Student_score_management_system.zip_C++_Score!_stick2k4_学生成绩管理系统
下面是一个简单的 Python 程序,可以完成上述任务:
```
# 导入所需的库
import csv
# 定义函数,用于计算学生的总分和平均分
def calculate_total_and_average(scores):
total = 0
for score in scores:
total += score
average = total / len(scores)
return total, average
# 读取学生成绩文件
with open('8_2 score.csv', 'r') as f:
# 使用csv库的DictReader函数读取文件
reader = csv.DictReader(f)
# 将学生成绩存储在列表中
students = []
for row in reader:
student = {}
student['name'] = row['name']
student['math'] = int(row['math'])
student['english'] = int(row['english'])
student['python'] = int(row['python'])
student['history'] = int(row['history'])
# 计算学生的总分和平均分
total, average = calculate_total_and_average([student['math'], student['english'], student['python'], student['history']])
student['total'] = total
student['average'] = average
students.append(student)
# 输出学生成绩
print('学生成绩:')
print('姓名 数学 英语 Python 历史 总分 平均分')
for student in students:
print(f'{student["name"]} {student["math"]} {student["english"]} {student["python"]} {student["history"]} {student["total"]} {student["average"]}')
# 输出 Python 语言最高成绩
max_python_score = max(student['python'] for student in students)
print(f'Python 语言最高成绩:{max_python_score}')
# 按总分排序输出学生成绩表
students.sort(key=lambda student: student['total'], reverse=True)
print('\n按总分排序输出学生成绩表:')
print('姓名 数学 英语 Python 历史 总分 平均分')
for student
阅读全文