weixin_42583350
weixin_42583350
采纳率0%
2019-03-08 16:37

循环为什么只执行一次

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))
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2年前
    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]
    注意缩进!!!

    点赞 3 评论 复制链接分享
  • weixin_42185136 划船的使者 2年前

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

    点赞 1 评论 复制链接分享
  • u010808843 杀妖降魔 2年前

    关键字位置不对导致的

    点赞 评论 复制链接分享
  • weixin_42583350 weixin_42583350 2年前

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

    点赞 评论 复制链接分享
  • lhs472194266 Haisen大王 2年前

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

    这句有错误。

    点赞 评论 复制链接分享

相关推荐