输入学生的姓名学号和成绩,用插入排序按成绩从大到小的顺序排序,输出学号 python语言
时间: 2024-02-27 21:58:36 浏览: 183
好的,以下是Python语言实现的代码:
```python
# 定义Student类,包含姓名、学号和成绩属性
class Student:
def __init__(self, name, id, score):
self.name = name
self.id = id
self.score = score
# 定义插入排序函数
def insertion_sort(students):
for i in range(1, len(students)):
j = i
while j > 0 and students[j-1].score < students[j].score:
students[j-1], students[j] = students[j], students[j-1]
j -= 1
# 输入学生信息
students = []
n = int(input("请输入学生人数:"))
for i in range(n):
name = input("请输入第%d个学生的姓名:" % (i+1))
id = input("请输入第%d个学生的学号:" % (i+1))
score = float(input("请输入第%d个学生的成绩:" % (i+1)))
students.append(Student(name, id, score))
# 按成绩从大到小排序
insertion_sort(students)
# 输出学号
print("按成绩从大到小排序的学生学号为:")
for student in students:
print(student.id)
```
希望能够帮到你!如果还有其他问题,可以随时提出。
阅读全文