又是一次期中考。考完之后肯定少不了成绩的排名。可是面对这么多的成绩,老师也觉得累。于是向熟悉编程的你求助。计入排名的考试只有语文数学跟英语三门。按照平均分从高到低输出。
时间: 2023-09-15 15:16:38 浏览: 62
好,这个问题可以用 Python 语言来解决。首先我们需要输入每个学生的姓名和三科成绩,然后计算每个学生的平均分,并按照平均分从高到低排序,最后输出排名结果。
以下是一个示例代码:
```python
# 定义学生类
class Student:
def __init__(self, name, chinese, math, english):
self.name = name
self.chinese = chinese
self.math = math
self.english = english
self.average = (chinese + math + english) / 3
# 输入学生信息
n = int(input("请输入学生人数:"))
students = []
for i in range(n):
name = input("请输入第%d个学生的姓名:" % (i+1))
chinese = float(input("请输入第%d个学生的语文成绩:" % (i+1)))
math = float(input("请输入第%d个学生的数学成绩:" % (i+1)))
english = float(input("请输入第%d个学生的英语成绩:" % (i+1)))
student = Student(name, chinese, math, english)
students.append(student)
# 按照平均分从高到低排序
students = sorted(students, key=lambda x: x.average, reverse=True)
# 输出排名结果
print("排名 姓名 平均分")
for i, student in enumerate(students):
print("%-4d %-4s %.2f" % (i+1, student.name, student.average))
```
这个代码中,我们定义了一个 `Student` 类来存储每个学生的姓名和成绩,并计算平均分。然后,我们根据平均分排序,最后按照排名输出结果。