有3个学生,每个学生的数据包括学号、姓名、3门课程的成绩要求编写一个函数input从键盘输入3个学生数据,并编写另一个函数aver输出最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)。
时间: 2023-12-15 11:41:40 浏览: 178
好的,我可以帮你实现这个功能。以下是代码实现:
```python
# 定义一个学生类
class Student:
def __init__(self, id, name, score1, score2, score3):
self.id = id
self.name = name
self.score1 = score1
self.score2 = score2
self.score3 = score3
self.average = (score1 + score2 + score3) / 3
# 输入3个学生数据
def input_students():
students = []
for i in range(3):
id = input("请输入第{}个学生的学号:".format(i+1))
name = input("请输入第{}个学生的姓名:".format(i+1))
score1 = float(input("请输入第{}个学生的第一门课程成绩:".format(i+1)))
score2 = float(input("请输入第{}个学生的第二门课程成绩:".format(i+1)))
score3 = float(input("请输入第{}个学生的第三门课程成绩:".format(i+1)))
student = Student(id, name, score1, score2, score3)
students.append(student)
return students
# 输出最高分的学生的数据
def aver_highest_score(students):
highest_score = 0
highest_student = None
for student in students:
if student.average > highest_score:
highest_score = student.average
highest_student = student
print("最高分的学生信息如下:")
print("学号:{}".format(highest_student.id))
print("姓名:{}".format(highest_student.name))
print("第一门课程成绩:{}".format(highest_student.score1))
print("第二门课程成绩:{}".format(highest_student.score2))
print("第三门课程成绩:{}".format(highest_student.score3))
print("平均分数:{}".format(highest_student.average))
# 主函数
if __name__ == '__main__':
students = input_students()
aver_highest_score(students)
```
你可以将以上代码保存为一个.py文件,然后运行即可。希望能够帮到你!
阅读全文