zoukankan      html  css  js  c++  java
  • 大爽Python入门练习题 210 猜函数

    大爽Python入门练习题总目录

    第二章 中期练习题 中等 第10题

    题目

    简介

    尽量手动模拟分析(实在不行也可以用电脑运行)

    1. 猜一下下面输出的结果
    2. 猜下mystery函数的作用(意义)
    3. 尝试理解每行代码,尝试理解代码整体的思路。
    def mystery(arr):
        n = len(arr)
        for i in range(n-1):
            for j in range(0, n-i-1):
                if arr[j] > arr[j + 1] :
                    arr[j], arr[j + 1] = arr[j + 1], arr[j]
    
    
    lst = [7, 4, 6, 9, 5]
    mystery(lst)
    print(lst)
    

    分割线

    本小段没有实际意义,
    仅用于分隔题目和答案。
    防止学生无意中直接看到答案,
    影响思路。



















    答案

    1. 运行结果如下
    [4, 5, 6, 7, 9]
    
    1. mystery函数的作用
      arr数组排序(升序)

    2. 代码的思想
      这其实就是冒泡排序(Bubble Sort)。

    核心思想为:
    从前往后,两两比较,大的后移。
    比较n轮,排序完成。

    特点:
    第一轮比较,会将第一大的移到最后面。
    第二轮比较,会将第二大的移到后面倒数第二个。
    第三轮比较,会将第三大的移到后面倒数第三个。
    。。。。。。
    过程中的效果像是在冒泡,大的气泡不断上浮。

    形象化的相关视频(本人原创):
    冒泡排序动画演示【基于python pygame实现】

  • 相关阅读:
    spring无法接收上传文件
    springcloud feign增加熔断器Hystrix
    mybatis调用存储过程(@Select方式)
    spring在注解标注的方法上加切面
    java注解Annotation
    java包装类
    JZ-C-43
    JZ-C-42-Plus
    JZ-C-42
    JZ-C-41-Plus
  • 原文地址:https://www.cnblogs.com/BigShuang/p/15685714.html
Copyright © 2011-2022 走看看