输入学生姓名学号年龄成绩,用插入排序按成绩从小到大排列,最后只输出学号,第一行输出一个元素,第二行输出两个元素,第三行输出三个元素用python语言写
时间: 2024-01-11 08:04:52 浏览: 64
以下是用Python实现的插入排序代码,可以根据输入的学生信息进行排序:
```python
# 定义学生类
class Student:
def __init__(self, name, id, age, score):
self.name = name
self.id = id
self.age = age
self.score = score
def __str__(self):
return self.id
# 插入排序函数
def insertion_sort(students):
for i in range(1, len(students)):
key = students[i]
j = i - 1
while j >= 0 and students[j].score > key.score:
students[j+1] = students[j]
j -= 1
students[j+1] = key
return students
# 主函数
if __name__ == '__main__':
# 读取学生信息
students = []
while True:
try:
name, id, age, score = input().split()
students.append(Student(name, id, int(age), int(score)))
except:
break
# 插入排序
students = insertion_sort(students)
# 输出学号
count = 1
for i in range(len(students)):
print(students[i], end=' ')
if i == count * (count - 1) // 2:
print()
count += 1
```
这里定义了一个`Student`类来存储学生信息,然后使用插入排序对学生信息按照成绩从小到大进行排序。最后按照题目要求输出学生的学号。输出时,第一行输出一个元素,第二行输出两个元素,第三行输出三个元素,以此类推。
阅读全文