Python如何实现数字始终按升序打印且不输出列表格式
实现多数字升序打印的解决方案
我们可以手动实现排序逻辑(比如选择排序),接收任意数量的数字参数,排序后逐个打印元素,完全避开sorted()函数和列表/元组格式的输出。
代码实现
def order_numbers(*args): # 将参数转为可修改的列表 nums = list(args) # 手动实现选择排序 for i in range(len(nums)): min_index = i # 找到当前未排序部分的最小值索引 for j in range(i + 1, len(nums)): if nums[j] < nums[min_index]: min_index = j # 交换当前位置与最小值位置的元素 nums[i], nums[min_index] = nums[min_index], nums[i] # 逐个打印升序后的数字,用空格分隔 for num in nums: print(num, end=' ') # 打印结束后换行 print() # 测试用例 order_numbers(5, 2, 9, 1, 5, 6) # 输出:1 2 5 5 6 9 order_numbers(3, 1) # 输出:1 3 order_numbers(10) # 输出:10
关键说明
- 用
*args实现任意数量数字的输入,兼容2个及更多数字的场景 - 手动实现选择排序完成升序排列,不依赖内置排序函数
- 通过循环逐个打印元素,输出为单独的数字序列,而非列表或元组格式
内容的提问来源于stack exchange,提问作者Nevaeha
相关产品推荐
相关产品推荐

