这道题目要求我们编写一个程序,统计学生的成绩,并能包括输入学生的姓名和成绩。根据成绩从高到低排列,最后打印输出。
时间: 2023-11-22 16:54:21 浏览: 168
好的,这道题目需要用到数据结构和算法,我可以帮你分步骤完成。
首先,我们需要定义一个学生类,包括学生姓名和成绩属性。代码如下:
```python
class Student:
def __init__(self, name, score):
self.name = name
self.score = score
```
接下来,我们需要从用户获取输入,输入学生的姓名和成绩,可以用一个字典来存储,代码如下:
```python
students = []
n = int(input("请输入学生人数:"))
for i in range(n):
name = input("请输入学生姓名:")
score = int(input("请输入学生成绩:"))
student = Student(name, score)
students.append(student)
```
然后,我们需要对学生的成绩进行排序,可以使用 Python 自带的 sorted 函数,代码如下:
```python
students = sorted(students, key=lambda x: x.score, reverse=True)
```
最后,我们需要将排序后的学生信息输出,代码如下:
```python
print("学生排名:")
for i, student in enumerate(students):
print("第{}名:{},成绩:{}".format(i+1, student.name, student.score))
```
完整代码如下:
```python
class Student:
def __init__(self, name, score):
self.name = name
self.score = score
students = []
n = int(input("请输入学生人数:"))
for i in range(n):
name = input("请输入学生姓名:")
score = int(input("请输入学生成绩:"))
student = Student(name, score)
students.append(student)
students = sorted(students, key=lambda x: x.score, reverse=True)
print("学生排名:")
for i, student in enumerate(students):
print("第{}名:{},成绩:{}".format(i+1, student.name, student.score))
```