Python 实现 0 - 9 个正整数选择排序:含输入验证与代码详解
选择排序是一种简单直观的排序算法。它的基本思想是每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 以下是用Python实现选择排序的代码: ```python def selection_sort(arr): n = len(arr) for i in range(n): # 假设当前i位置的元素是最小的 min_index = i for j in range(i + 1, n): if arr[j] < arr[min_index]: min_index = j # 交换找到的最小元素和当前i位置的元素 arr[i], arr[min_index] = arr[min_index], arr[i] return arr def main(): # 输入正整数个数 n = int(input("请输入正整数的个数 (0 < n < 9): ")) if not (0 < n < 9): print("输入的数字不符合要求") return # 输入正整数列表 arr = [] for _ in range(n): num = int(input("请输入一个正整数: ")) if num <= 0: print("输入的不是正整数") return arr.append(num) # 进行选择排序 sorted_arr = selection_sort(arr) # 输出排序结果 print("排序后的结果是:", sorted_arr) if __name__ == "__main__": main() ``` ### 代码说明: 1. **`selection_sort`函数**:实现了选择排序算法。通过两层循环,外层循环遍历数组的每一个元素,内层循环找到未排序部分的最小值,并将其与当前元素交换。 2. **`main`函数**:负责处理用户输入,包括正整数的个数和具体的正整数,并调用`selection_sort`函数进行排序,最后输出排序结果。 3. **输入验证**:确保输入的正整数个数在0到9之间,并且每个输入的数都是正整数。 运行这个程序时,用户会被提示输入正整数的个数和具体的正整数,然后程序会输出排序后的结果。 ######[AI写代码神器 | 523点数解答 | 2024-11-29 17:46:48]
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)498
- 超详细:JDK安装及Windows系统环境变量设置全攻略 (阿里通义 | 376点数解答 | 2024-03-06 17:27:29)373
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)382
- 深度揭秘 Oracle Workarea Size Policy:参数调优助力数据库性能飞升(阿里通义 | 372点数解答 | 2024-05-13 10:54:45)257
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)451
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)443
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)352
- C++ 实现查找指定数字在正整数序列中的位置(字节豆包 | 398点数解答 | 2026-04-11 13:08:06)32
- C++ 实现统计指定数字在数组中出现的次数(字节豆包 | 377点数解答 | 2026-04-11 13:09:11)30
- Java调用Python接口中文乱码?设置UTF - 8编码一招解决!(讯飞星火 | 263点数解答 | 2024-06-06 17:07:59)421
- 解决Java调用Python接口中文乱码问题:设置UTF - 8编码全攻略(讯飞星火 | 160点数解答 | 2024-06-06 17:18:39)445
- Java调用Python接口中文乱码问题:字符编码统一解决方案(讯飞星火 | 344点数解答 | 2024-06-06 17:19:55)552