输入10名同学的成绩和学号,输入后自动显示学生分数的排行,采用选择排序
时间: 2023-06-09 11:05:16 浏览: 64
好的,我可以为您提供一个基本的选择排序算法来解决您的问题。以下是代码的实现:
```python
def selection_sort(students):
n = len(students)
for i in range(n):
min_idx = i
for j in range(i+1, n):
if students[j]["score"] < students[min_idx]["score"]:
min_idx = j
# Swap the minimum element with the first element
students[i], students[min_idx] = students[min_idx], students[i]
return students
# Example Usage
students = []
for i in range(10):
name = input("请输入第{}位同学的姓名: ".format(i+1))
number = input("请输入第{}位同学的学号: ".format(i+1))
score = int(input("请输入第{}位同学的成绩: ".format(i+1)))
students.append({"name": name, "number": number, "score": score})
sorted_students = selection_sort(students)
print("按成绩排名的学生列表:")
for i, student in enumerate(sorted_students):
print("{}. 学号: {}, 姓名: {}, 成绩: {}".format(i+1, student["number"], student["name"], student["score"]))
```
这个算法通过对列表中的所有元素进行扫描,每次找到最小值并与第一个元素交换来实现选择排序。结果将按照成绩从低到高输出所有学生的名字、学号和成绩。
请注意,这只是一个基本的实现,你可以根据你的需求进行定制。如果你有任何问题或需要进一步的帮助,请随时询问。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)