有4个学生,每个学生的数据包括学号、姓名、3门课程的成绩。从键盘输入10个学生的数据,要求输出3门课程的总平均成绩,以及最高分的学生的学号、姓名、3门课程成绩、平均分数。
时间: 2023-12-15 19:24:57 浏览: 65
好的,这是一个简单的学生成绩管理系统,可以使用 Python 实现。以下是代码示例:
```python
# 定义一个学生类
class Student:
def __init__(self, number, name, score1, score2, score3):
self.number = number
self.name = name
self.score1 = score1
self.score2 = score2
self.score3 = score3
# 输入学生数据
students = []
for i in range(10):
number = input("请输入第%d个学生的学号:" % (i+1))
name = input("请输入第%d个学生的姓名:" % (i+1))
score1 = float(input("请输入第%d个学生的第1门课成绩:" % (i+1)))
score2 = float(input("请输入第%d个学生的第2门课成绩:" % (i+1)))
score3 = float(input("请输入第%d个学生的第3门课成绩:" % (i+1)))
student = Student(number, name, score1, score2, score3)
students.append(student)
# 计算总平均成绩
avg_score1 = sum([s.score1 for s in students]) / len(students) # 第1门课平均分
avg_score2 = sum([s.score2 for s in students]) / len(students) # 第2门课平均分
avg_score3 = sum([s.score3 for s in students]) / len(students) # 第3门课平均分
print("三门课程的总平均成绩为:%.2f, %.2f, %.2f" % (avg_score1, avg_score2, avg_score3))
# 查找最高分的学生
max_score = 0
max_student = None
for s in students:
avg_score = (s.score1 + s.score2 + s.score3) / 3
if avg_score > max_score:
max_score = avg_score
max_student = s
print("最高分的学生是:")
print("学号:%s" % max_student.number)
print("姓名:%s" % max_student.name)
print("第1门课成绩:%.2f" % max_student.score1)
print("第2门课成绩:%.2f" % max_student.score2)
print("第3门课成绩:%.2f" % max_student.score3)
print("平均分数:%.2f" % max_score)
```
希望对你有帮助!
阅读全文