简单版:

1 def paixu(values):
2 # 结算列表的长度
3 n = len(values)
4 # 外层循环控制从头走到尾的次数
5 for j in range(n - 1):
6 # 用一个count记录一共交换的次数,可以排除已经是排好的序列
7 count = 0
8 # 内层循环控制走一次的过程
9 for i in range(0, n - 1 - j):
10 # 如果前一个元素大于后一个元素,则交换两个元素(升序)
11 if values[i] > values[i + 1]:
12 # 交换元素
13 values[i], values[i + 1] = values[i + 1], values[i]
14 # 记录交换的次数
15 count += 1
16 # count == 0 代表没有交换,序列已经有序
17 if 0 == count:
18 break
19
20 if __name__ == '__main__':
21 values = [888, 206, 33, 7, 4, 1, 404, 550, 0,18,6]
22 print("原列表为:{}".format(values))
23 paixu(values)
24 print("新列表为:{}".format(values))