实现思路: 使用双重for循环,内层变量为i, 外层为j,在内层循环中不断的比较相邻的两个值(i, i+1)的大小,如果i+1的值大于i的值,交换两者位置,每循环一次,外层的j增加1,等到j等于n-1的时候,结束循环

# 冒泡排序
def bubble(l):
# 外层循环: 对应重复走访数据的次数
for i in range(len(l) - 1):
# 内层循环: 对应每次走访数据时,相邻数据对比次数
for j in range(len(l) - i - 1):
# 比较相邻数据 - 从小到大
if l[j] > l[j+1]:
# 若前者大于后者,则交换
l[j], l[j+1] = l[j+1], l[j]
print('重复走访数据次数:', i + 1)
# 原始数据 - 学生身高
#values = [150,120,170,160,172,144,187,200,178,166]
lst = [250, 300, 120, 144, 150, 160, 166, 170, 172, 178, 187, 200]
print('原数据', lst)
# 按照从小到打排序
bubble(lst)
# 打印排序后结果
print('排序后', lst)