循环为什么只执行一次

lt=[9,4,7,8,5,6]


def list_sort(lt, key=None, reverse=False):
    for i in range(len(lt) - 1):
        for j in range(len(lt) - 1-i):
            if lt[j] > lt[j + 1]:
                lt[j], lt[j + 1] = lt[j + 1], lt[j]
                return lt

print(list_sort(lt))

for循环进入第一次循环后遇到if,if语句下面就是return,就把it返回给函数,也就是函数的返回值,不明白可以查一下函数的return的用法,你把你那个return改为print(It)看看,就不会是之循环一次

lt=[9,4,7,8,5,6]


def list_sort(lt, key=None, reverse=False):
    for i in range(len(lt) - 1):
        for j in range(len(lt) - 1 - i):
            if lt[j] > lt[j + 1]:
                lt[j], lt[j + 1] = lt[j + 1], lt[j]
    return lt

print(list_sort(lt))

[4, 5, 6, 7, 8, 9]
注意缩进!!!

for j in range(len(lt) - 1-i):

这句有错误。

return的位置不对,刚刚发现了

关键字位置不对导致的