用随机函数生成100个范围在[1,999]的随机整数,把这100个整数保存到列表。
用随机函数生成100个范围在[1,999]的随机整数,把这100个整数保存到列表。编写程序,对这100个数从小到大进行排序,并按每行10个输出(要求数据的个位对齐)。
注意:不能使用sort,sorted,max, min,index函数,在排序的时候原列表不能删除元素,不能增加元素,不能生成新的列表,只能原地排序。
目录
一、题目分析
由于题目要求不能使用python内置函数sort,sorted,max, min,index,所以只能用原始的排序方法实现,比如,冒泡排序,快速排序……来完成。
本次代码采用冒泡排序作答。
二、实现代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author: Roc-xb
"""
import random
if __name__ == '__main__':
# 随机函数生成100个范围在[1,999]的随机整数
data = [random.randint(1, 999) for i in range(100)]
print("排序前:", data)
# 冒泡排序
for i in range(0, len(data) - 1):
for j in range(0, len(data) - i - 1):
# 从小到大进行排序
if data[j + 1] < data[j]:
# 交换两个元素
data[j + 1], data[j] = data[j], data[j + 1]
print("排序后:", data)
# 每行10个输出(要求数据的个位对齐)
for (index, item) in enumerate(data):
print('{:>4}'.format(item), end=' ')
# 换行
if (index + 1) % 10 == 0:
print()