这节课我们对于冒泡排序法的课后习题进行一下解答:

回顾一下我们的题目:

上节课我们学习的冒泡排序法,是让我们的list从小到大进行排列,这次我们的任务是,请对冒泡排序法进行一定的修改,加一个参数,让它能够按照我们的定义需要进行从大到小或者从小到大的排序。返回这个排序后的list。

下面是我们需要实现的一些例子,从例子中你可以了解到第二个参数的一些定义规则。假定输入的参数没有错误等问题。

函数调用命令

返回值

bubbleSort([37,87,12,3,0],1)

[0, 3, 12, 37, 87]

bubbleSort([7,8,123,33,1],2)

[123, 33, 8, 7, 1]

bubbleSort([3411,5,32,57,521],1)

[5, 32, 57, 521, 3411]

解析:

这道题很神奇让我们比之前多加了一个参数,使得我们可以通过参数来控制返回的list是从大到小还是从小到大排列。我们可以从要实现的例子中发现丝丝端倪,那就是第二个参数如果是1的时候,返回的list就会从小到大排列,如果是2,就会从大到小排列,明白这一点之后,新定义的参数就很容易弄出来了。

我们需要对新定义的参数进行判断,是1则在判断前一个数大于后一个数的时候才交换位置,是2则在判断前一个数小于后一个数的时候才进行交换。

以下是最后的参考代码:

def bubbleSort(nums, k):

# 请修改代码成题目要求的样子

for i in range(len(nums)-1): # 这个循环负责设置冒泡排序进行的次数

for j in range(len(nums)-i-1): # j为列表下标

if k == 1:

if nums[j] > nums[j+1]:

nums[j], nums[j+1] = nums[j+1], nums[j]

elif k == 2:

if nums[j] < nums[j+1]:

nums[j], nums[j+1] = nums[j+1], nums[j]

return nums

# 测试代码

print("testing bubbleSort for ([37,87,12,3,0],1) result:" + str(bubbleSort([37,87,12,3,0],1)))

print("testing bubbleSort for ([7,8,123,33,1],2) result:" + str(bubbleSort([7,8,123,33,1],2)))

print("testing bubbleSort for ([3411,5,32,57,521],1) result:" + str(bubbleSort([3411,5,32,57,521],1)))

以下是我们的视频教程:

在线观看:

高清源文件下载:

内容已经隐藏,请注册为本站会员后查看

感谢大家的收看,我们下期再见!

冒泡排序python例题_零基础学python 15 经典算法:冒泡排序法(课后习题答案)...相关推荐

  1. 零基础学python张志强_零基础学Python最新章节_张志强著_掌阅小说网

    1.5 Python的开发工具 Python的开发工具非常丰富,有许多强大的IDE(Integrated Development Environment)工具,如Komodo.PythonWin.Ec ...

  2. python自学步骤-零基础学Python应该学习哪些入门知识及学习步骤安排

    众所周知,Python以优雅.简洁著称,入行门槛低,可以从事Linux运维.Python Web网站工程师.Python自动化测试.数据分析.人工智能等职位!就目前来看,Python岗位人才缺口高达4 ...

  3. python语言程序设计难不难_零基础学Python编程开发难度大吗?从哪学起?

    转行零基础学Python编程开发难度大吗?从哪学起? 近期很多小伙伴问我,如果自己转行学习Python,完全0基础能否学会呢?Python的难度到底有多大? 今天,小编就来为大家详细解读一下这个问题. ...

  4. c字符串中包含双引号_零基础学Python:一文看懂数字和字符串

    来源:大数据DT 本文约2000字,建议阅读6分钟 数据类型是构成编程语言语法的基础.[ 导读 ]数据类型是构成编程语言语法的基础.不同的编程语言有不同的数据类型,但都具有常用的几种数据类型.Pyth ...

  5. python培训一般多久_零基础学python需要多久

    一:明确自己的学习目标.不管我们学习什么样的知识,都要对自己的学习目标有一个明确的认识.只有这样才能朝着目标持续的前进,少走弯路,从而在学习的过程中得到提升,享受整个学习的乐趣. 二:基础的Pytho ...

  6. python 智能造句_[零基础学Python]正规地说一句话

    小孩子刚刚开始学说话的时候,常常是一个字一个字地开始学,比如学说"饺子",对他/她来讲,似乎有点难度,大人也聪明,于是就简化了,用"饺饺"来代替,其实就是让孩子 ...

  7. python入门到熟练要多久_零基础学python要多久

    零基础进行Python学习的话,如果选择自学,一般学习周期在一年半左右.选择进行培训的话,学习Python周期一般在五到六个月左右,不过学习的种类不同,班级不同,培训周期也是存在一定差异的. 零基础学 ...

  8. python语言学习零基础教学视频_零基础学Python语言CAP全套课程

    零基础学Python语言CAP完整版课程目录 ├─{1}–[第1周,第一单元]Python编程之基本方法 │ ├─{1}–1.1课程内容和安排介绍 │ │ ├─(1.1.1)–课程内容和安排介绍-PP ...

  9. 0基础学python需要多长时间_零基础学python大概要多久

    如果是自学的话,零基础学python大概要花一年到一年半的时间.每个人的资质不同.理解能力不同,所以花费的时间也不一样.建议零基础的学员报一个python培训班,这样可以有规划的系统性学习,而且花费的 ...

最新文章

  1. UBUNTU安装SSH和xrdp
  2. mysql事务怎么加排他锁_八种方法实现CSS页面底部固定 - SegmentFault 思否
  3. OkHttpClient源码分析(五)—— ConnectInterceptor和CallServerInterceptor
  4. 中国SaaS人力资源管理系统市场发展模式分析与前景深度研究报告2022年版
  5. 记录Pandas处理数据的两个小技巧
  6. Confluence 6 自定义 Decorator 模板的宏和针对高级用户
  7. multi source replication mysql_MySQL 5.7多源复制(Multi-Source Replication)
  8. [SDOI2008]Cave 洞穴勘测
  9. 不带头节点的链表有哪些缺点_14. 删除链表中重复的结点
  10. Redis源码解析(1)——源码目录介绍
  11. qq2006导致alt-tab切换失灵,还不知道怎么报告和解决(英文win2000)
  12. 常见的电子商务模式理解
  13. sprintf 函数
  14. WWW2022 | 知识提示的预训练微调
  15. 天气和气象数据网站集合
  16. SQL盲注(原理概述、分类)
  17. 聊聊六位半万用表电路(一)——保护
  18. No toolchains found in the NDK toolchains folder for ABI with prefix:XXX
  19. 肯德基 服务器响应异常,肯德基链接服务器异常
  20. Numpy下arr[2],arr[2,:],arr[2:,:]的区别

热门文章

  1. SAP UI5 应用开发教程之二十三 - 列表控件的排序 Sort 和分组 Group
  2. 使用 SAP UI5 系统测试工具 UIVeri5 的一个具体例子
  3. 如何把一个PDF文件内的部分页码对应的内容导出成一个新的PDF文件
  4. SAP CDS view如何取得当前系统日期和系统时间戳
  5. SAP CRM Cross Component级别的跳转如果出了问题,该如何调试
  6. SAP Hybris和ABAP Netweaver里的DAO(Data access object)
  7. SAP ERP Material如何创建附件
  8. SAP Hybris Commerce启用customer coupon的前提条件
  9. 大学毕业就进入SAP,我获得了哪些收益
  10. SAP云平台上的502 Bad Gateway错误