用python设计考试成绩统计系统。考试共三个科目语文、数学和英语。考试人数不限(至少5人),每门科目的分数自行设置。要求: (1)统计每门科目的最高分、最低分和平均分 (2)每个学生分数最高的科目、分数最低的科目和总分
时间: 2024-03-14 09:45:47 浏览: 31
好的,我可以帮你设计一个考试成绩统计系统。首先,我们需要定义每门科目的分数范围和考试人数。假设语文、数学和英语的分数范围都是0到100,考试人数为n。
接下来,我们需要让用户输入每个学生的分数,可以使用一个for循环来实现。每个学生的分数可以存储在一个字典中,其中键为科目名称,值为分数。例如:
```
scores = []
for i in range(n):
print("请输入第{}个学生的成绩:".format(i+1))
chinese = int(input("语文成绩:"))
math = int(input("数学成绩:"))
english = int(input("英语成绩:"))
score_dict = {"语文": chinese, "数学": math, "英语": english}
scores.append(score_dict)
```
输入完成后,我们可以计算每门科目的最高分、最低分和平均分。可以使用一个for循环来遍历每个学生的分数,并将每个科目的分数相加,最后再除以考试人数即可。例如:
```
chinese_scores = [d["语文"] for d in scores]
math_scores = [d["数学"] for d in scores]
english_scores = [d["英语"] for d in scores]
chinese_max = max(chinese_scores)
chinese_min = min(chinese_scores)
chinese_avg = sum(chinese_scores) / n
math_max = max(math_scores)
math_min = min(math_scores)
math_avg = sum(math_scores) / n
english_max = max(english_scores)
english_min = min(english_scores)
english_avg = sum(english_scores) / n
print("语文最高分:{},最低分:{},平均分:{}".format(chinese_max, chinese_min, chinese_avg))
print("数学最高分:{},最低分:{},平均分:{}".format(math_max, math_min, math_avg))
print("英语最高分:{},最低分:{},平均分:{}".format(english_max, english_min, english_avg))
```
最后,我们还需要计算每个学生分数最高的科目、分数最低的科目和总分。可以使用嵌套的for循环来实现。首先遍历每个学生,然后遍历他的每个科目,找到分数最高和分数最低的科目,并将每个学生的总分累加起来。例如:
```
for i in range(n):
student_scores = list(scores[i].values())
student_total = sum(student_scores)
max_score = max(student_scores)
min_score = min(student_scores)
max_subject = ""
min_subject = ""
for subject, score in scores[i].items():
if score == max_score:
max_subject = subject
if score == min_score:
min_subject = subject
print("第{}个学生的最高分科目是{},最低分科目是{},总分是{}".format(i+1, max_subject, min_subject, student_total))
```
这样,一个简单的考试成绩统计系统就完成了。完整代码如下: