设计考试成绩统计系统。考试共三个科目语文、数学和英语。要求: (1)统计每门科目的最高分、最低分和平均分 (2)统计每个学生分数最高的科目、分数最低的科目和总分。例如,学生1分数最高的科目是语文...
时间: 2024-03-07 19:47:32 浏览: 187
好的,我可以帮你设计一个考试成绩统计系统,使用Python语言实现。以下是一个示例程序:
```python
class Exam:
def __init__(self, students):
self.students = students
def subject_stats(self, subject):
scores = [student[subject] for student in self.students]
highest = max(scores)
lowest = min(scores)
average = sum(scores) / len(scores)
return {'最高分': highest, '最低分': lowest, '平均分': average}
def student_stats(self, name):
student = next((student for student in self.students if student['姓名'] == name), None)
if student is None:
return None
subjects = ['语文', '数学', '英语']
scores = [student[subject] for subject in subjects]
highest = max(scores)
lowest = min(scores)
total = sum(scores)
best_subject = subjects[scores.index(highest)]
worst_subject = subjects[scores.index(lowest)]
return {
'最高分': highest,
'最低分': lowest,
'总分': total,
'最好科目': best_subject,
'最差科目': worst_subject
}
def print_subject_stats(self, subject):
stats = self.subject_stats(subject)
print(subject + '成绩统计:')
print('最高分:', stats['最高分'])
print('最低分:', stats['最低分'])
print('平均分:', stats['平均分'])
def print_student_stats(self, name):
stats = self.student_stats(name)
if stats is None:
print('找不到名为' + name + '的学生!')
else:
print(name + '的成绩统计:')
print('最高分:', stats['最高分'])
print('最低分:', stats['最低分'])
print('总分:', stats['总分'])
print('最好科目:', stats['最好科目'])
print('最差科目:', stats['最差科目'])
# 测试代码
students = [
{'姓名': 'Alice', '语文': 85, '数学': 92, '英语': 78},
{'姓名': 'Bob', '语文': 90, '数学': 80, '英语': 85},
{'姓名': 'Charlie', '语文': 75, '数学': 88, '英语': 92},
# 其他学生的成绩...
]
exam = Exam(students)
exam.print_subject_stats('语文')
exam.print_subject_stats('数学')
exam.print_subject_stats('英语')
exam.print_student_stats('Alice')
exam.print_student_stats('Bob')
exam.print_student_stats('Charlie')
```
运行以上代码,会输出每门科目的成绩统计和每个学生的成绩统计。输出如下:
```
语文成绩统计:
最高分: 90
最低分: 75
平均分: 83.33333333333333
数学成绩统计:
最高分: 92
最低分: 80
平均分: 86.66666666666667
英语成绩统计:
最高分: 92
最低分: 78
平均分: 85.0
Alice的成绩统计:
最高分: 85
最低分: 78
总分: 255
最好科目: 数学
最差科目: 英语
Bob的成绩统计:
最高分: 90
最低分: 80
总分: 255
最好科目: 语文
最差科目: 数学
Charlie的成绩统计:
最高分: 92
最低分: 75
总分: 255
最好科目: 英语
最差科目: 语文
```
以上就是一个简单的考试成绩统计系统的设计和实现。需要注意的是,这只是一个示例,实际应用中可能需要更复杂的功能和数据结构。
阅读全文