python冒泡排序引发的一点思绪

今日无事温习冒泡排序
写了之后发现不对劲,为啥只排了一次呢?
原来把循环语句while写成了条件语句if
以前还没意识到

i = 1
if i <= 3:
    print('PHIL大帅哥')
    i = i + 1
    print(i)

结果是

PHIL大帅哥
2

它不会去判断初始条件而循环语句while会
如:

i = 1
while i <= 3:
    print('PHIL大帅哥')
    i = i + 1
    print(i)

结果为
PHIL大帅哥 2 PHIL大帅哥 3 PHIL大帅哥 4
对条件语句和循环语句有了更深的理解了
附上pytthon冒泡排序代码

import random
# 定义一个空列表
my_list = []
# 循环10次,range函数是左闭右开区间,10是取不到的
for a in range(0, 10):
    # 把随机产生的整数添加到列表中
    my_list.append(random.randint(1, 100))
print("列表初始值", my_list)
# 计数
count = 1
while count <= 9:
    # 索引逐渐增加
    for i in range(0, 9):
        if my_list[i] >= my_list[i+1]:
            my_list[i], my_list[i+1] = my_list[i+1], my_list[i]
    count = count + 1

print(my_list)

结果为

列表初始值 [15, 16, 20, 81, 41, 8, 77, 35, 58, 55]
[8, 15, 16, 20, 35, 41, 55, 58, 77, 81]

猜你喜欢

转载自blog.csdn.net/weixin_44259638/article/details/109676884
今日推荐