问题遇到的现象和发生背景
用随机函数生成50个范围在[1,999]的随机整数,把这50个整数保存到列表。编写程序,对这50个数从小到大进行排序,并按每行10个输出(要求数据的个位对齐)。注意:不能使用sort,sorted,max, min,index函数,在排序的时候原列表不能删除元素,不能增加元素,不能生成新的列表,只能原地排序。方法:先找出全部数据的最小值,把它放在第0个位置,然后在剩下的数据找最小值放在第1个位置,依此类推。不能用其它方法。
用随机函数生成50个范围在[1,999]的随机整数,把这50个整数保存到列表。编写程序,对这50个数从小到大进行排序,并按每行10个输出(要求数据的个位对齐)。注意:不能使用sort,sorted,max, min,index函数,在排序的时候原列表不能删除元素,不能增加元素,不能生成新的列表,只能原地排序。方法:先找出全部数据的最小值,把它放在第0个位置,然后在剩下的数据找最小值放在第1个位置,依此类推。不能用其它方法。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author: Roc-xb
"""
import random
if __name__ == '__main__':
# 随机函数生成50个范围在[1,999]的随机整数
data = [random.randint(1, 999) for i in range(50)]
print(data)
# 冒泡排序
for i in range(len(data) - 1):
for j in range(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()